В.Г. Архипова Р.Г. Амдамова Н.К. Беристемова К. Б. Кадыракунов ИНФОРМАТИКА Жалпы білім беретін мектептің жаратылыстану-математика бағытындағы 11-сынып оқушыларына арналған оқулық АЛМАТЫКІТАП БАСПАСЫ 2020 Қазақстан Республикасының Бiлiм және ғылым министрлiгi ұсынған Алматыкiтап баспасы
Информатика. Жалпы білім беретін мектептің жаратылыстануматематика бағытындағы 11-сынып оқушыларына арналған оқулық / В.Г. Архипова, Р.Г. Амдамова, Н.К. Беристемова, К.Б. Кадыракунов – Алматы: «АЛМАТЫКIТАП БАСПАСЫ», 2020. – 264 бет; суреттi. © Архипова В. Г., Амдамова Р. Г., Беристемова Н.К., Кадыракунов К.Б.,мәтіні, 2020 © «АЛМАТЫКIТАП БАСПАСЫ» ЖШС, 2020 ӘОЖ 373.167.1 КБЖ 32.973 я 72 И 69 УДК 373.167.1 ББК 32.973 я 72 ISBN 978-601-01-4362-3 ISBN 978-601-01-4362-3 И 69 Бүгінгі сабақта Негізгі ұғымдар Білу мен түсіну Қолдану Үй тапсырмасы Жоғарғы деңгейдегі тапсырмалар Топтық жұмыс Шартты белгілер Алматыкiтап баспасы
3 Құрметті оқушы! Ақпараттық технологиялар өмірімізге мықтап енді. Олар дүниежүзілік экономикамен қатар басқа да салаларды дамытудың маңызды құралына айналды. Бұл технологиялар адамдардың тұрмысын да едәуір жеңілдетті. Көптеген мамандықтар ақпараттық технологиялармен тығыз байланысты, мысалы, жұмысқа орналасуға келген адамнан алдымен компьютерде жұмыс істей білу талап етіледі. Сондықтан информатиканы оқып-үйрену болашақ мамандығың үшін де өте маңызды. Бұл курс бөлімдердегі оқу материалдарын тереңдетіп оқып-үйренуге арналған. Оқулық «Жасанды интеллект», «3D модельдеу», «Ақпараттық қамтамасыз ету», «Заттар интернеті», «IT Startap» пен «Цифрлық сауаттылық» деген бөлімдерден тұрады. Оқу барысында жасанды интеллект қолданылатын салалармен, «виртуалды және кеңейтілген шынайылық» ұғымдарымен, «ақылды үй» технологиясының ерекшеліктерімен танысасың. Стартапты іске қосып, оны алға жылжыту жолдарынан хабардар боласың. Қазақстандағы цифрландыру процесі туралы оқып, «Электрондық үкімет» порталының қызметіне жүгінесің. «Алматыкітап баспасы» заман талабына сай оқулықтардың электрондық нұсқасын да әзірледі. Электрондық оқулықпен ноутбук, стационарлық компьютер, планшет пен смартфонда жұмыс істеуге болады. Авторлар электрондық оқулықты үнемі жаңартып, жетілдіріп, жаңа қызықты материалдармен толықтырып отырады. Тақырыптар автоматты тексеру функциясы бар танымдық мысал, бейнесабақ, графикалық схема және қызықты тапсырмалармен сүйемелденген. Оқулық сенің нағыз досың әрі көмекшің болады. Сәттілік тілейміз! Құрметпен, авторлар Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 4 Интеллект – интеллект – intellect Жасанды интеллект – искусственный интеллект – artificial Intelligence Алғашқы компьютерлердің негізгі міндеті түрлі есептерді шығару болатын. Алайда ХХ ғасырдың 50-жылдарында-ақ ғалымдар фантаст-жазушылардың идеяларын негізге ала отырып, «адам сияқты ойлай алатын құрылғыны қалай жасауға болады?» деген сұраққа жауап іздей бастайды. Ойлау процестерін имитациялау үшін, компьютерде программалық жүйелер жасалады. Олар жасанды интеллект жүйелері деп аталады. Жасанды интеллект (Artificial intelligence (AI) – компьютердің немесе роботтың адамдарға тән интеллектуалдық процестерге байланысты тапсырмаларды орындау мүмкіндігі. Бұл – алдыңғы тәжірибе негізінде ойлау, түсіну, жалпылау немесе үйрену қабілеті. Жасанды интеллект (ЖИ) – адамзат интеллектісінің процесін компьютерлік жүйелер арқылы модельдеу. Бұл процестер оқыту (ақпарат алу мен оны қолдану ережесі), пайымдау (болжамды немесе белгілі нәтижелерге жету үшін, ережелерді қолдану) мен өзін-өзі түзетуден тұрады. Адам мен мәшинеге арналған ортақ интеллект – белгілі бір күрделілік деңгейіндегі тапсырмаларды орындау үшін, программа құру мен осы тапсырмаларды орындау қабілеті. Жасанды интеллект жүйесін әзірлеушілердің мақсаты – тапсырма шартына сай, мәшинені өз іс-әрекетінің программасын жасауға, яғни формалды орындаушыдан интеллектуалды орындаушыға айналдыру (1-сурет). ЖАСАНДЫ ИНТЕЛЛЕКТ Бүгінгі сабақта: Негізгі ұғымдар: 1.1 «жасанды интеллект» ұғымын; жасанды интеллект жүйелері қолданылатын бағыттарды; ЖИ бағыттарының мақсаты мен міндеттерін білесің. Алматыкiтап баспасы
5 1.1. Жасанды интеллект 1-сурет. Формалды және интеллектуалды орындаушылар Адамның ойлауы білім деңгейі мен логикалық пайымдау қабілеттілігіне негізделген. Демек, интеллектуалды жүйелерді жа сауға екі негізгі міндет қойылған: Білімді модельдеу Пайымдауды модельдеу білім базасы ретінде компьютерлік жадқа енгізу үшін, білімді формалдау әдістерін әзірлеу әртүрлі тапсырмаларды шешу кезінде адамның ойлау логикасына ұқсас компьютерлік программалар жасау Қазіргі уақытта жасанды интеллект өмірімізге тереңдеп еніп келеді, оның әсері күнделікті сезілуде. Роботталған мәшинелер көлікті енді үйреніп жүрген адамдарға нұсқаушы қызметін көрсете алады. Кейбір мекемелерде роботтар қаржылық есептер жасайды. Роботтар шахмат, дойбы, го сияқты түрлі ойында мықты қарсылас бола алады. Жасанды интеллектіні күнделікті өмірде қолданып жүрміз. Оны қолданудың мысалдарын қарастырайық (2-сурет): Деректер Программа Нәтиже Программаны орындау Формалды орындаушы Интеллектуалды орындаушы Программа жасау Программаны орындау Деректер Нәтиже 2-сурет. Жасанды интеллектіні қолдану мысалдары «Ақылды үй» «Ақылды үй» Музыка мен фильмдер ұсыну Ойындар Виртуалды көмекшілер Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 6 Жасанды интеллект: теоремаларды дәлелдеу; ойындар; кейіпкерлерді тану; шешімдер қабылдау; бейімделген программалау; мәшинелік музыканы шығару; деректерді табиғи тілде өңдеу; оқыту желілері (нейрожелілер); вербалды концептуалды оқыту сияқты бағыттарда қолданы лады. Жасанды интеллект бағыттарын қарастырып көрелік: 1. Білімді ұсыну аясында ЖИ жүйесінің жадындағы білімді формал дау ға және көрсетуге байланысты мәселелер шешіледі. Ол үшін білімді көрсетудің арнайы модельдері мен білімді сипаттау тілдері әзірленеді, білім түрлері енгізіледі. 2. Білімге сүйеніп, іс-әрекеттерді орындау шеңберінде білімді толық емес сипаттамалар негізінде толықтыру тәсілдері әзірленеді. Компьютерлік құралдар арқылы адамның ақыл-ойы мен іс-әрекеттерін пайымдай алатын модельдер ұсынылады. 3. Қарым-қатынас шеңберіне жататындар: табиғи тілдегі байланысқан мәтіндерді түсіну мен синтездеу (жинақтау) мәселесі, сөйлеуді түсіну мен синтездеу, адам мен ЖИ жүйесі арасындағы коммуникация модельдерінің теориясы. 4. Қабылдау. Бұл бағытқа білім базасында көру бейнелері тура3-сурет. Жасанды интеллектіні дамытудың негізгі бағыттары Көпагентті жүйелер Жасанды нейрондық желілер Есептіклогикалық жүйелер Сараптамалық жүйелер (СЖ) Нақты уақыттың СЖ-сы Табиғи тілдегі жүйелер Генетикалық алгоритмдері бар жүйелер Интеллектуалдық басқару жүйелері Интеллектуалдық жүйелер Алматыкiтап баспасы
7 лы ақпаратты ұсыну, көретін көріністерден мәтіндік сипаттауға көшу әдістерін құру, кері ауысудың әдістері және ЖИ жүйелеріндегі ішкі ұғымдарға негізделген көріністерді жасауға арналған құралдарды әзірлеу әдістері кіреді. 5. Оқыту. ЖИ жүйелерінің оқуға, тағы басқа бұрын кездеспеген міндеттерді шешуге қабілеттілігін дамытуға арналған әдістер әзірленеді. Мысалы, күрделі жағдаяттарды сипаттау немесе оларды бақылау бойынша жеке міндеттерді белгілі жолмен шешуден жалпы міндетке көшу әдістері. Бұл бағыттың негізгі міндеті – бастапқы тапсырманың декомпозициясын неғұрлым ұсақ әрі ЖИ жүйелері үшін белгілі әдіс терге көшіру. 6. Тәртіп. ЖИ жүйелері қоршаған ортада әрекет етеді. Оларға қоршаған ортамен, өзге де ЖИ жүйелерімен және адамдармен тиісті дәрежеде әрекет жасауға мүмкіндік беретін реттелген рәсімдер әзірлеу қажет. 1.1. Жасанды интеллект 1. «Жасанды интеллект» терминіне анықтама бер. 2. Жасанды интеллект дайындалған бағыттарды ата. 3. Формалды орындаушы мен интеллектуалды орындаушының қызметтерін салыстыр. Білу мен түсіну Google-да жасанды интеллектіні қолдану. I. Gmail-мен жұмыс істеу 1. Өзіңнің gmail поштаңа кір. 2. Баптау белгішесінің көмегі мен поштаны бап тауды аш (4-сурет). 3. Ақылды енгізу (Умный ввод) баптауы (5-сурет) хабарламаны тез жазуға мүмкіндік береді, бұл функция мәтінді енгізудің қажеттілігіне қарай сөздер мен сөз тіркестерін автоматты түрде алмастырады. Жылдам жауап (Быстрый ответ) арқылы келген хабарламаға да йын жауаптарды қолданып, жауап жазуға болады (6-сурет). Берілген нұсқалардың біреуін таңдап, оны жіберер алдында редакциялауға болады. Егер біраз уақыт поштаңды тексермесең, онда саған хабарлама жіберген адамдар сенің поштаны ашпағаның туралы хабарламаны Автожауап (Автоответчик) (7-сурет) арқылы автоматты түрде алады. 4-сурет. Поштаның Баптау (Настройка) белгісі Қолдану Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 8 5-сурет. Ақылды енгізу (Умный ввод) баптауы 6-сурет. Жылдам жауап (Быстрый ответ) баптауы 7-сурет. Автожауап (Автоответчик) баптауы II. Google Картасын қолдану Өзіңнің Googlе аккаунтыңа Google картаның көмегімен үйіңнен мектебіңе дейінгі бағытты сал. Осындай бағытты Yandex картаның көмегімен құрып, ұсынылған бағытпен салыстыр. 8-сурет. Фотосуретті санаты бойынша іздеу III. Google Фото Түрлі нысандары бар бірнеше фотосуретті, мысалы, пейзаж, жануарлар мен гүлдердің суретін жүкте. Өз файлдарыңа атау ретінде тек нөмір қой. Фотосуретті тап, мысалы, Google фотодан жүктеп алған қандай да бір жануардың санатын (категориясын) іздеу жолына енгіз (8-сурет). Алматыкiтап баспасы
9 1.1. Жасанды интеллект 1. Егер Google DeepMind компаниясының AlphaStar алгоритмі кәсіби ойыншыларды «Старкрафт» ойынында 10-1 есебімен жеңсе, онда AlphaStar жасанды интеллект пе әлде интеллект емес пе? Өз пікіріңді дәлелде. 2. Жасанды интеллект неліктен мамандандырылған (әлсіз) және мықты деп бөлінеді? Жасанды интеллектінің осы екі түрі қандай міндеттерді шеше алатынын айт. 3. Күнделікті өмірде кездесетін қандай ЖИ жүйелеріне мысал келтіре аласың? Топта талқылаңдар. Жасанды интеллект адамзат мүмкіндіктерінен асып түсіп, адамға қауіп төндіруі мүмкін бе? Өз пікіріңді дәлелде. Топтық жұмыс Үй тапсырмасы 1. Интернет желісінен ЖИ-ге берілген әртүрлі анықтамаларды іздеп тауып, салыстырмалы талдау жаса. 2. Интернет желісінен «Жасанды интеллектінің дамуына ықпал еткен адамдар» тақырыбына ақпарат іздеп тап. Кестені толтыр. 3. ЖИ тақырыбы бойынша ұғымдарға сәйкес тапсырмалар құрастыр. Кім? Қайда? Қашан? Жұмыс атауы немесе негізгі жағдай Жоғарғы деңгейдегі тапсырмалар Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 10 Жасанды интеллект өмірімізге мықтап орнығып келеді. Технологиялық прогресс өмірдің барлық саласында жаңа мүмкіндіктерге жол ашты. Жасанды интеллектіні қолданатын кейбір салаларды қарастырайық. Білім беру саласы Жасанды интеллект мұғалімді алмастырмайды, керісінше, мұғалімге оқушылармен бірге сабақ барысында жіберетін қателіктерін көрсетіп, оқытуды жақсарту туралы нұсқау береді. ЖИ-ді тиімді қолданған жағдайда бұл педагог үшін маңызды құрал болады. Мысалы, сабаққа талдау жасау, оқушылардың жалпы деңгейін көтеру мен оқытудың ең оңтайлы стратегияларын табу үшін қолданылуы мүмкін. Жасанды интеллект енгізіліп, ең жоғары нәтиже беріп жатқан бағыттармен танысайық (1-схема). Бейімдеп оқыту – адаптивное обучение – adaptive learning Прокторинг – прокторинг – proctoring Ойындық жасанды интеллект – игровой искусственный интеллект – gaming artificial intelligence ЖАСАНДЫ ИНТЕЛЛЕКТ ЖҮЙЕСІН ҚОЛДАНАТЫН САЛАЛАР Бүгінгі сабақта: Негізгі ұғымдар: 1.2 жасанды интеллектінің білім беру саласындағы мүмкіндіктерімен; жасанды интеллектіні қай салаларда қолданатындығын; жасанды интеллектінің болашағын білесің. Автоматтандырылған сапа бақылауы Бейімдеп оқыту Мұғалімнің виртуалды көмекшісі Кері байланыс Білім беру жүйесіндегі жасанды интеллект Жеке оқыту Аралық интервалдық оқыту Деректерді жинау және материалдарды іріктеу Прокторинг (оқушының адалдығын бақылау) 1-схема Білім беру саласындағы ЖИ бағыты Алматыкiтап баспасы
11 1.2. Жасанды интеллект жүйесін қолданатын салалар Бейімдеп оқыту Бейімдеп оқыту – жасанды интеллектіні білім беру жүйесінде қолданудағы болашағы бар бағыттардың бірі. Жасанды интеллект әрбір шәкірттің оқу үлгерімін қадағалай алады. Оқу материалдарын баланың үлгеріміне қарай бөледі немесе оның қабілетіне қарай икемдейді. Мұғалімге қай материалдың нашар, қай материалдың жақсы меңгерілгені туралы ақпарат береді. Жасанды интеллектінің көмегімен бейімделген технологияны қолдануға мүмкіндік беретін платформалардың бірі – Stepik. Бірақ мұндай платформада құрылған курстар саны әзірге оннан аспай тұр. Ұпайларды автоматты түрде санау Hewlett қоры эссені бағалау жүйелерінің арасындағы бәсекелестікке демеушілік жасаған. Бұл жоба 2012 жылдан бастап жылдам жетілдіріліп келеді. Алайда баға қою кезінде технологияларды қолдануға қарсылық білдірушілер көп. Математик Г. Перельман бағалау алгоритмдерінің шынайы сипатын анықтауды қолға алып, қолданыстағы жүйелердің әлсіз тұстарын көрсете білді. Аралық интервалдық оқыту Поляк өнертапқышы Петр Возняк интервал әсеріне негізделген оқу қосымшасын ойлап тапты. Бұл қосымша сенің не оқығаныңды әрі қашан оқығаныңды қадағалайды. Жасанды интеллектіні іске қоссаң, қосымша ақпаратты ұмытқан кезіңді анықтап, оны қайталауды ұсынады. Ол ақпараттың жадыңда ұзақ уақыт сақталатынына көз жеткізу үшін, бірнеше рет қайталауды талап етеді. Прокторинг Қашықтан оқудың ажырамас бөлігі саналатын қашықтан емтихан тапсыруды қарастырайық. Ол бір уақытта көптеген емтихан тапсырушылардың тәртібін, атап айтқанда, кадрда «артық» адамдардың бар-жоғын, бөлмеде «артық» дауыстардың бар-жоғын, емтихан тапсырушының монитордан жиі көзін тайдыруын, браузердегі қосымша бетті ауыстыру әрекетін бақылай алады. Бұл іс-әрекеттердің барлығы тәртіп бұзушылық ретінде тіркеледі. Ерекше жағдайларда жүйе прокторға адам белгілі бір емтихан тапсырушыға назар аудару қажеттігін ескертеді. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 12 ОЖИ туралы сөз болғанда, ойын жүйелерінің ойыншымен салыстырғанда интеллектуалды әрі табиғи болып көрінуіне ықпал ететін келесі базалық қағидалар бар (2-схема). 2-схема ОЖИ-дің базалық қағидалары Сонда ғана оны web-камера арқылы қадағалай бастайды. Біз білім беру саласына жаңа технологиялардың еніп жатқанына куәміз. Бәлкім, жақын арада бұл саладағы жасанды интеллект мұғаліммен өтетін үйреншікті сабақ сияқты болуы мүмкін. Ойын индустриясы Ойындық жасанды интеллект (ОЖИ) – компьютерлік ойындардағы негізгі құралдардың бірі. Алекс Шампандар өзінің «Компьютерлік ойындардағы жасанды интеллект: виртуалды кейіпкерлерді сыртқы әсерлерге әрекет етуге қалай үйрету керек?» атты кітабында: «Жасанды интеллект құралдары кез келген компьютерлік ойынның ажырамас бөлігіне айналды», – деп көрсеткен. Ойын индустриясы ОЖИ-ді мүлдем дербес білім саласына жатқызып, оны өте күрделі интеллектуалдық жүйелерімен қолданады. Ойыншыға қызықты ойын процесін ұсыну, одан әсер алу мақсатында интеллектуалдық ойын жүйелері жасалады. Іс жүзінде интеллектуалдық жүйе ойын ішіндегі кейіпкерлердің мінез-құлық ерекшеліктерін басқаруға негізделеді. Ойын жүйелерімен өзара әрекеттесе алады Ойыншыға қажеттіден де артық мүмкіндік береді Ойыншының әрекетіне қарсы әрекет етеді Ойыншыға өзінің мақсаттары туралы айтады Ойындық жасанды интеллект Өзіндік мақсаттары бар ОЖИ сыртқы және орталық ЖИ болып бөлінеді (3-схема). Олай болса, ОЖИ міндетті түрде үш негізгі тапсырманы орындауы тиіс. Олар: 1) кейіпкерлердің қозғалысын анықтау; 2) кейіпкерлердің өз бетінше шешім қабылдауын басқару; 3) кейіпкерлердің өзін-өзі ұстау ерекшеліктеріне жауап беру. Алматыкiтап баспасы
13 1.2. Жасанды интеллект жүйесін қолданатын салалар 3-схема Компьютер ойынындағы ОЖИ-дің базалық моделі Ойыншының әрекеті Анимация Сыртқы ОЖИ Мінез-құлық реакциясы Орталық ОЖИ Шешім қабылдау Қозғалу Скриптинг Ойын әлемінің интерфейсі ақпарат Экономика ЖИ – статистикалық есептерге арналған әмбебап құрал. Ол клиенттердің қайта келуін ынталандыратын түрткіжайттарды анықтайды, жаңа нарықтық, бірақ жеткілікті игерілмеген тауарға байланысты қызметтерді іздейді. Жасанды интеллект деректерді жинауға көмектеседі. Мәтіннің мағынасын талдаудан бастап, тұтынушылардың қалаулары мен әдеттерін қадағалайтын мәшинелік оқыту алгоритмдеріне дейінгі деректерді жинау тетіктері енді кез келген кәсіпорын үшін қолжетімді. Әлеуметтік желілерде осы мақсаттар үшін әртүрлі чат-боттар іске қосылған. Жасанды интеллект жүйелері қызметкерлерді жұмысқа қабылдау үшін де қолданылады. Мәшинелік оқыту алгоритмдері алдыңғы қабылдау әдістерінің қайсысы қызметкерлерді табуға көмектескенін анықтай алады. Компания «Бұрын үміткерлерді қайдан іздеді және байланыс қалай орнатылды?» деген сұрақтарға жауап береді. ЖИ-дің көмегімен нақты үміткерді қалай тартуға болатыны анықталып, жұмыс тәжірибесі мен біліктілігі туралы егжейтегжейлі ақпарат жиналады. Өнеркәсіп Кәсіпорында жасанды интеллектіні қолданудың «дәстүрлі» салалары мен бағыттарына мыналар жатады: • процестерді статистикалық басқару; Ойындардың мүмкіндігі шексіз әрі бізді әрдайым жаңа жетістіктерімен таңғалдыратынын атап өту қажет. Ойын индустриясында жасанды интеллектіні қолданудың болашағы зор. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 14 • істен шығып қалу ықтималдығының салдарларын талдау; • өлшеу жүйелерін талдау; • баға белгілеу мен тауар қорларын басқару; • жабдықтарға өндірістік қызмет көрсету (ТҚЖ – техникалық қызмет көрсету және жөндеу). Мәшинелік оқыту технологияларын дискреттік өндіріс те (диаграмма) қолданады. Оған әуе кемелерін, мәшине және құрал-жабдық жасау жатады. Дискреттік өндірісте жасанды интеллект өнеркәсіптік жабдықтың қызмет ету мерзімін ұзарту және оған техникалық қызмет көрсету тиімділігін арттыру үшін қолданылады. Өндірістік аналитиктерге өнеркәсіптік активтердің қалдық қоры туралы мәлімет алуға көмектеседі. Ал алдын ала болжау сараптау лары өнеркәсіпте апаттың алдын алу бойынша ұсыныстар береді. Одан кейін процестік өндірісте қолданады. Оған металлургия, химия, мұнай химиясы, мұнай өңдеу және мұнай өндіру салалары жатады. Сондай-ақ ЖИ технологияларын өнеркәсіптік роботтарды оқыту жүйесін құру үшін роботты техника саласында да пайдаланады. Диаграмма ЖИ-ді өнеркәсіпте қолданудың салыстырмалы диаграммасы Осылайша, жасанды интеллектіні қолдану аясы жедел кеңе йіп келеді. Келешекте әртүрлі цифрлық құрылғылар сияқты жасанды интеллект те үйреншікті нәрсеге айналуы мүмкін. 1. Жасанды интеллект жүйесін қолданатын қандай салаларды атай аласың? 2. Білім беру саласында жасанды интеллектіні қолданып, қандай мәселелерді шешуге болады? 3. Жасанды интеллект ойынға не үшін керек? Білу мен түсіну басқа салалар немесе әзірлеу кезеңдері дискреттік өндіріс процестік өндіріс электр энергетикасы Алматыкiтап баспасы
15 1.2. Жасанды интеллект жүйесін қолданатын салалар 1. Параграфта көрсетілмеген жасанды интеллектіні қолдану саласын іздеп тап. 2. Google мен Yandex компанияларында жасанды интеллектінің қолданылуына салыстырмалы талдау жаса. 1. stepik.org білім ресурсын аш. «Жасанды интеллект» тақырыбы бойынша қандай курстардан оқып-білуге болатындығын анықта. Мұндай курстар қандай базалық білім береді? 2. https://experiments.withgoogle.com/interplay-mode/view/ интернет-ресурсын аш. Осы ресурсты қолданып, бірнеше жаттығуды орында. 1. Жасанды интеллектіні экономикада қолданудың қандай артықшылықтары бар? 2. Компьютерлік ойындардағы ОЖИ-дің ерекше мінез-құлық реакциясына мысал келтір. 3. Жасанды интеллектіні экономикада қолдануға тағы қандай мысалдар келтіре аласың? 4. Деңгейлік тапсырмаларды орында. А деңгейі. Интернетті пайдалана отырып, өз қызметінде жасанды интеллектіні белсенді түрде қолданатын 10 компанияның тізімін жаса. В деңгейі. Жасанды интеллект қолданылатын саланы таңдап, оның сол саладағы артықшылықтары мен кемшіліктерін бағала. С деңгейі. Интернетті пайдалана отырып, жасанды интеллектіні өз қызметінде қолданудан түрлі себептермен бас тартып отырған 10 компанияның тізімін жаса. Интеллектуалдық жүйелер жедел дамыған жағдайда қандай мамандық иелері болашақта жұмыссыз қалуы мүмкін? Үй тапсырмасы Жоғарғы деңгейдегі дағдылар Топтық жұмыс Қолдану Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 16 Мәшинелік оқыту өмірімізде күн санап орнығып келеді. Көлік кептелісін талдаудан бастап, автокөліктің өзін-өзі басқаруына дейінгі міндеттердің бәрі ақылды мәшинелерге жүктелуде. Мәшинелік оқыту деректерді өңдеумен тығыз байланысты. Бізде өңдеу қажет қандай да бір кіру деректері бар, осы өңдеу процесінің нәтижесінде біз шығу деп аталатын жаңа деректерді аламыз (1-сурет). мәшинелік оқытуды; мәшинелік оқыту тәсілдерін; мәшинелік оқытудың негізгі қағидаларын; мәшинелік оқытудың ерекшеліктерін білесің. Мәшинелік оқыту – машинное обучение – machine Learning Мұғаліммен оқыту – обучение с учителем – supervised learning Мұғалімсіз оқыту – обучение без учителя – unsupervised learning Мұғалімнің жартылай қатысуымен оқыту – обучение с частичным привлечением учителя – semi-supervised learning Негіздеп оқыту – обучение с подкреплением – reinforcement learning Жіктеу міндеттері – задачи классификации – classification problem Регрессия міндеттері – задачи регрессии – regrassion problem Кластерлеу міндеттері – задачи кластеризации – clustering problem 1.3 1.4 МӘШИНЕЛІК ОҚЫТУ ҚАҒИДАЛАРЫ Бүгінгі сабақта: Негізгі ұғымдар: Кіру Өңдеу Шығу 1-сурет. Деректерді өңдеу Мысалы, аурудың қандай да бір белгілері, емделушінің сыртқы түрі, талдау нәтижелері болады. Мұны кіру деректері дейді. Дәрігер өз тәжірибесі мен біліміне сүйене отырып, осы деректерді өңдейді әрі соған сүйеніп, диагноз қояды. Бұл – шығу дерегі. Деректерді өңдеу бірнеше тәсілмен орындалуы мүмкін (2-сурет). Бірінші тәсіл – қандай да бір білімге сүйене отырып, біз өзімізге қойылған сұраққа жауап береміз. Бұдан күрделірек тәсіл – осы деректерді талдайтын және шығатын ақпаратты беретін Алматыкiтап баспасы
17 МӘШИНЕЛІК ОҚЫТУ ҚАҒИДАЛАРЫ 1.3-1.4. Мәшинелік оқыту қағидалары қандай да бір программаны жазу. Программада біздің білімі мізге сүйенетін нақты алгоритм бар. Үшінші тәсіл – мәшинелік оқыту. Ол алғашқы екі тәсілден ерекшеленеді. 2-сурет. Деректерді өңдеу тәсілдері Кіру Өңдеу Шығу Қолмен Программа Мәшинелік оқыту Мәшинелік оқыту дегеніміз – процесс. Жүйе көптеген мысалдарды өңдейді, заңдылықтарды анықтайды әрі жаңа деректердің сипаттамасын болжау үшін, оларды қолда нады. Мәшинелік оқытудың қа лай жүзеге асырылаты нын қа растырайық (3-су рет). Бізде оқытатын кіру деректері мен оқыту (үйренетін) жүйесі бар. Деректер біздің тәжірибемізден тәуелсіз параметрлерге сәйкес өңдеуге ұшы- 3-сурет. Мәшинелік оқыту Кіру Шығу Модель Оқытуға арналған деректер Параметрлер 4-сурет. Мәшинелік оқытудың математикалық негізі Мәшинелік оқыту Информатика Оңтайландыру Статистика теориясы Сызықтық алгебра райды. Кіру деректері программа көмегімен деректерді айқын программаламай-ақ заңдылықтарды, статистиканы, т.б. автоматты түрде жүйеге үйретеді. Мәшинелік оқытудың математикалық негізі 4-суретте берілген. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 18 Мәшинелік оқыту информатика мен қолданбалы математиканы синтездеуге (біріктіруге) негізделген. Оңтайландыру теориясы оның маңызды құрамдас бөлігі. Мәшинелік оқытуды оңтайландыру – модельдің қателігін барынша азайтатын параметрлерді табу. Екінші жағынан, мәшинелік оқыту статистикамен және ықтималдық теориясымен тығыз байланыс ты. Мәшинелік оқыту алгоритмдерін құру үшін сызықтық алгебра, матрицалар және векторлармен жұмыс істеу тәсілдері қолданылады. 5-суретте мәшинелік оқыту тәсілдері көрсетілген. 5-сурет. Мәшинелік оқыту тәсілдері «Мұғаліммен оқыту» әдісі Мұндай оқытудың ерекшелігі – деректердің дұрыс жа уаптармен, яғни белгілермен берілуі. Модельді оқытқаннан кейін мәшине нені үйренгенін нақтылау ы, модель әлі кездестірмеген бақылау деректеріне арналған нәтижені болжауы керек. Бірақ мәшинемен оқыту кезінде модель оқыту жиынтығын есте сақтамауы тиіс. Негізінен «Мұғаліммен оқыту» әдісі жіктеу және регрессия деген екі түрлі есепті шешу үшін қолданылады. Жіктеу есебі: әртүрлі белгілердің негізінде категория лық жауапты, яғни белгілі кластарға жататын нысандарды болжау. Жаңа нысан қай санатқа жататынын анықтау қажет. Жауаптарды жіктеу есептерінде жауаптардың әрқашан шектеулі саны бар, мысалы, науқастың ауруларын немесе электрондық хаттың спам екендігін анықтау. Алматыкiтап баспасы
19 1.3-1.4. Мәшинелік оқыту қағидалары Жіктеу есептерін қарапайым байес алгоритмі, шешімдер ағашы, k-жақын көршілер, тірек векторларының әдісі сияқты алгоритмдердің көмегімен жүзеге асыруға болады. Регрессия есептері үздіксіз деректермен байланысты, яғни қандай да бір аргументтерге тәуелді функцияның қандай да бір мәнін анықтайды. Регрессия түзу сызықты салған кезде оны сызықтық, ал қисық сызықты салған кезде полиномиалды деп атайды (6-сурет). Бұл мәндерді қандай дәлелдердің негізінде алғанымыз бізге белгілі, модель басқа аргументтер үшін функцияның мәнін болжауы тиіс. Мысалы, қандай да бір ірі қаладағы 10 000 пәтер туралы дерек бар делік, пәтердің ауданы, бөлме саны, пәтер орналасқан қабат, инфрақұрылымның болуы, пәтердің құны белгілі. Деректер – функцияның аргументі, ал пәтердің құны – оның мәні. Оқытылған модель көрсетілген белгілер бойынша пәтердің құнын болжауы тиіс. Регрессия міндеттеріне біраз уақыттан кейін акцияның құнын болжауды, дүкеннің келесі айдағы пайдасын болжауды, медициналық диагноздарды, т.б. жатқызуға болады. Регрессия есептерін шешу кезіндегі белгілі алгоритмдерге сызықтық немесе полиномиалды регрессия, шешімдер ағашы жатады. «Мұғаліммен оқыту» әдісі алгоритмді оқытуға қажет шынайы деректердің едәуір жиынтығы бар есептер үшін өте қолайлы. Мәшинелік оқытуда деректердің кемшілігі жиі кездеседі. «Мұғалімсіз оқыту» әдісі Егер оқыту жүйесінің алдында белгісіз жауаптарды табу міндеті тұрса, онда «Мұғалімсіз оқыту» әдісі қолданылады. Модельде дерек6-сурет. Регрессия түрлері Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 20 тер жиынтығы бар, бірақ онымен не істеу керектігі туралы анық нұсқаулар жоқ. Жүйе пайдалы белгілерді алып, оларды талдай отырып, осы деректердегі заңдылықтарды өз бетінше табуға тырысады. «Мұғалімсіз оқыту» әдісі көбіне негізгі алгоритм ретінде емес, деректерді талдау әдісі ретінде қолданылады. «Мұғалімсіз оқыту» әдісінің негізгі міндеттері Кластерлеу – нысандар жиынтығы, оларды топтастырып, ұқсас нысандар тобын табу керек. Жүйе өзі ұқсас нысандарды іздеп, оларды кластерлерге біріктіреді. Кластерлер санын алдын ала беруге немесе оны мәшинеге сеніп тапсыруға болады. Мәшине нысандардың ұқсастығын біз белгілеген белгілер бойынша анықтайды. Жүйе сипаттамалары жағынан өте ұқсас нысандарды бір класқа біріктіреді. Кластерлеу есебінде 2 мәселе бар: 1) біздің деректерімізде бұл топтардың саны да, қанша кластер бар екені де белгісіз болады; 2) жүйеде дұрыс жауаптар да, бөліп көрсету қажет болатын нақты кластерлер де белгісіз. Кластерлеу есептерін нарықты сегментке бөлу (сатып алушылар, типтеріне, бейілділігіне қарай), картада жақын нүктелерді біріктіру, суреттерді қысу, жаңа деректерді талдау және белгілеу үшін қолданады. Танымал алгоритмдер: k-орташа әдісі. Нормадан ауытқуды анықтау есебі: белгілердің негізінде ауытқуды ауытқымаудан ажыратуды үйрену, яғни бір нысанның басқа нысанға ұқсамайтынын анықтап, белгілеу қажет. Бұл ретте оқытуда қарапайым, ауытқымаған нысандардың мысалдары ғана бар, ал ауытқыған нысанның модельдері мүлдем жоқ немесе өте аз, сондықтан да мұғаліммен оқытудың классикалық әдістерін қолдану мүмкін емес. Ұшақта орналасқан жүздеген датчиктің көрсеткіштері бойынша ұшақтың ақауын анықтауы осыған мысал болады. Әдеттегі нормадан ауытқуды анықтауға арналған есепке мысал келтір. «Мұғалімнің жартылай қатысуымен оқыту» әдісі «Мұғалімнің жартылай қатысуымен оқыту» әдісі «Мұғаліммен оқыту» және «Мұғалімсіз оқыту» әдістерінің арасында тұр. Алматыкiтап баспасы
21 1.3-1.4. Мәшинелік оқыту қағидалары Бұл әдіс деректерден маңызды белгілерді алу немесе барлық нысандарды белгілеу қиын болғанда тиімді. Мұндай оқытудың басты идеясы 1-схемада көрсетілген. Мұғалімнің жартылай қатысуымен оқыту» әдісімен белгіленбеген деректерді қолданудың арқасында модельдің дәлдігін арттырамыз. Қолданушының әлеуметтік желіге салынған фотосуреттегі адамдарды немесе түсірілім орнын белгілемеуі, яғни оларға белгі жасамауы оған мысал бола алады. Осындайда мұғалімнің жартылай қатысуымен мәшинелік оқыту жұмысы үшін екі жиынтық: белгіленген және белгіленбеген жиынтықтар қажет. Осы екі жиынтық та бір санаттағы деректерді қамтуы тиіс. Бұл – осы әдістің кемшілігі. Басқаша айтқанда, белгіленген жиынтықта мотоциклдер мен мәшинелердің фотосуреттері болып, ондағы суретте ненің бар екенін білеміз. Ал белгіленбеген суретте мотоциклдер мен мәшинелер ғана болуы тиіс, бірақ біз олардың қайсысының қайда орналасқанын білмейміз. Мұғалімді жартылай қатыстыра отырып оқытуды өзін басқа бір адам ретінде таныстыратын алаяқтық әрекеттерді анықтау үшін, қолдануға болады. Алаяқтықты әдеттегі белсенділік аясындағы ауытқу ретінде жіктеуге болады. Мұғалімнің жартылай қатысуымен оқытылатын мәшинелік оқыту әдістері осындай ауытқуларды танитын модельдер жасауға мүмкіндік береді. Аталған жүйелер көбіне онлайн-келісімшарт кезінде алаяқтық әрекеттерді анықтау үшін қолданылады. Негіздеп оқыту Ойындардың бәрінде ынталандыру бар. Деңгейден өтсең, марапатталасың. Жаудың бәрін жеңсең, бонус аласың. Тұзаққа түссең, ойын аяқталады. Бұл ынталандырулар ойыншыларға ойынның 1-схема Мұғалімнің жартылай қатысуымен оқытылатын мәшинелік оқыту Оқытылған модель белгіленбеген деректер үшін мәнін алдын ала айтады Алдын ала айтылатын мәндері бар жерде модельдерді оқыту – белгіленбеген деректер үшін «дұрыс» жауап Белгіленген деректердің аз мөлшері Осы деректер бойынша модельді оқыту Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 22 келесі кезеңінде қалай әрекет ету керектігін түсінуге көмектеседі. Кері байланыс болмаса, адамдар кездейсоқ шешім қабылдап, келесі ойын деңгейіне өтуге үміттенер еді. Негіздеп оқытудың да принципі осындай. «Бұл қандай санат?» немесе «Бұл қандай мән?» деген сұрақтарға жауап берудің орнына біз «Қалаған нәтижеге жету үшін не істеу керек?» деген сұраққа жауап беруге тырысамыз. Негіздеп оқыту барысында жүйе (агент) қандай да бір ортамен өзара әрекет ете отырып оқытылады (2-схема). Қабылданған шешімдерге берілген ортаның жауабы – бекіту сигналдары. Бұл әдісті мұғаліммен оқытудың жеке жағдайы деп атауға болады, алайда мұғалім қызметін орта немесе оның моделі атқарады, мұғалім мен агенттің арасында кері байланыс орнатылады. Агент нақты орта үшін мақсатқа жетудің немесе өнімділікті жақсартудың оңтайлы жолын табуға тырысады. Агент мақсатқа жетуге ықпал ететін іс-әрекеттер жасаған кезде марапатталады. Негізгі мақсат – ең жоғары марапатты иелену үшін, келесі қадамдарды болжау. Шешім қабылдау кезінде агент кері байланысты, үлкен ұтысқа әкелуі мүмкін жаңа айла-тәсілдер мен шешімдерді зерделейді. Бұл – итеративті процесс. Кері байланыс деңгейі неғұрлым көп болса, агент стратегиясы соғұрлым жақсы болады. Негіздеп оқыту әдістерінің бірі – бөлшек сауда дүкендерінде тауарларды сұрыптау. Кейбір сатушылар роботталған жүйелермен киім, аяқкиім мен аксессуарларды сұрыптау үшін, тәжірибе жасайды. Негіздеп оқыту мен тереңдете оқытуды қолдана отырып, роботтар затты қалай ұстаған ыңғайлы екендігін анықтайды. Мәшинелік оқыту технологиялары қарқынды дамып келеді. Қазір көптеген IТ-компаниялар (ақпараттық технологиялар) «Талдауға қажетті деректер көлемін қысқартып, компьютерлердің оқу жылдамдығын қалай арттыруға болады?» деген сұраққа жауап іздеуде. 2-схема Ортамен қарым-қатынас Орта марапат бақылау Агент іс-әрекет Алматыкiтап баспасы
23 1.3-1.4. Мәшинелік оқыту қағидалары 1. «Мәшинелік оқыту» деген не? 2. Мәшинелік оқытуды қолдануға мысал келтір. 3. Мәшинелік оқытуды қолданған кезде қандай мәселелер шешіледі? 4. «Деректерді өңдеу» деген не? Бұл процесті қалай үлгілеп көрсетуге болады? 5. 1-суреттегі схемаға сүйеніп, деректерді өңдеуге мысалдар келтір. 6. Жіктеу есептерін қолдануға мысалдар келтір. Берілген мысалдарда мәшинелік оқытудың қандай міндеттері мен тәсілдері қолданылатынын анықта: • фотосуреттерде адамдардың бет-әлпетін бөліп көрсету; • ақылы жолдағы көлік құралының түрін анықтау; • ойын жасанды интеллектісін оқыту; • оңтайлы көлік бағдарын анықтау; • күн райын болжау; • қолданушының плей-бетін (әндер, музыкалық шығармалар тізімі) жасау; • туындыларды жас ерекшелігінің рейтингісіне сәйкес іріктеу. Білу мен түсіну Қолдану Жоғарғы деңгейдегі тапсырмалар 1. Мәшинелік оқытуға деген қажеттілік неден туындады? Ойыңды дәлелде. 2. Мәшинелік оқытудың болашағы қандай? 3. Модель тек оқыту іріктелімін есінде сақтап алса, онда не болады? Ойыңды ортаға сал. А деңгейі. Кестені толтыр. Мәшинелік оқыту тәсілі Мұғаліммен оқыту Мұғалімсіз оқыту Мұғалімнің жартылай қатысуымен оқыту Негіздеп оқыту Оқытудың ерекшеліктері Есептері Негізгі алгоритмдер Артықшылығы Кемшілігі Қолдану мысалдары 4. Деңгейлік тапсырмаларды орында. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 24 1. «Мәшинелік оқытуға» глоссарий жаса. 2. «Мәшинелік оқыту эволюциясы» деген хронологиялық тізім жаса. 3. Қолданылу саласын таңдап, «... саласындағы мәшинелік оқыту» деген тақырыпқа шағын зерттеу жүргіз. Зерттеудің нәтижесін таныстырылым немесе буклет түрінде ресімде. Мысалы, «Электрондық саудадағы мәшинелік оқыту». В деңгейі. Венн диаграммасын қолдана отырып, жіктеу мен кластерлеу есептерін салыстыр. С деңгейі. Мәшинелік оқытуды қолданатын салаларға 4-5 мысал тауып, оқыту тәсілі мен мысалдарыңның деңгейін анықта. 5. Жіктеу есептері мен кластерлеу есептерінің айырмашылықтары қандай? Жіктеу есептері мен кластерлеу есептеріне мысалдар келтір. Топта CAPTCHA1 -ның (қорғаныш кодтың) қандай нұсқаларын мәшинелік оқытуда қолдануға болатындығын талқылаңдар. Үй тапсырмасы Топтық жұмыс 1CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) – компьютерлер мен адамдарды ажыратуға арналған толық автоматтандырылған Тьюрингтің тесті. Алматыкiтап баспасы
25 Мәшинелік оқытудың негізінде белгілі бір оқыту алгоритмдері жатыр. Осы алгоритмдерді толығырақ қарастырайық. Қарапайым байес алгоритмі (ҚБА) – белгілердің тәуелсіздігі туралы жорамалы бар Байес теоремасына негізделген жіктеу алгоритмі. Басқаша айтқанда, ҚБА: «Класта қандай да бір белгінің болуы қандай да бір басқа белгінің болуымен байланысты емес», – деп болжайды. Мысалы, жеміс қызыл түсті, дөңгелек әрі диаметрі шамамен 8 см болса, «Ол – алма» деп саналады. Тіпті бұл белгілер бір-біріне немесе басқа белгілерге тәуелді болса да, кез келген жағдайда олар осы жемістің алма екендігінің ықтималдығына тәуелсіз үлес қосады. Осындай қызметіне байланысты алгоритм «қарапайым» деп аталады. ҚБА-ға негізделген модельдер өте қарапайым, олар өте үлкен деректер жинағымен жұмыс істеген кезде пайдалы. ҚБА өзінің қарапайымдылығымен жіктеудің кейбір күрделі алгоритмдерінен де асып түседі. Байес теоремасы P(c), P(x) және P(x|c) негізінде апостериорлық ықтималдықты1 P(c|x) есептеуге мүмкіндік береді: Мұндағы: P(c|x) – x белгісінің берілген мәні кезіндегі c берілген класының (яғни мақсатты айнымалының берілген мәні) апостериорлық ықтималдығы. 1 Апостериорлық (кері) ықтималдық – тәжірибеден кейін алынған, яғни деректер белгілі болған жағдайдағы кездейсоқ оқиғаның шартты ықтималдылығы. мәшинелік оқытуда қандай алгоритмдердің қолданылатынын; мәшинелік оқыту алгоритмдерін қолдану ерекшеліктерін білесің. Қарапайым байес алгоритмі – наивный байесовский алгоритм – naive Bayes classifier K-жақын көршілер әдісі – метод K-ближайших соседей – k-nearest neighbor algorithm, KNN 1.5 1.6 МӘШИНЕЛІК ОҚЫТУ АЛГОРИТМДЕРІ Бүгінгі сабақта: Негізгі ұғымдар: 1.5-1.6. Мәшинелік оқыту алгоритмдері Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 26 P(c) – берілген кластың априорлық ықтималдығы1 . P(x|c) – шындыққа ұқсас, яғни берілген класс кезінде берілген мәннің ықтималдығы. P(x) – белгінің берілген мәнінің априорлық ықтималдығы. Мысалы. «Күн райы» деген бір белгі мен матчты өткізу мүмкіндігін білдіретін мақсатты айнымалы «Ойыннан» тұратын деректердің оқу жиынтығы бар (1-кесте). Күн райы негізінде біз матчтың өтетінін анықтауымыз керек. Бұл есепті шешу үшін, келесі әрекеттерді іске асыру қажет: 1) Деректер жиынын жиілік кестесіне түрлендіреміз (2-кесте). 2-кесте. Жиілік кестесі Күн райы Иә Жоқ Бұлтты 4 Күн ашық 3 2 Жауын-шашынды 2 3 Барлығы 9 5 2) Тиісті ықтималдықтарды есептеп, шындыққа ұқсас кестені жасаймыз (3-кесте). Мысалы, бұлтты күн райы ықтималдығы – 0,29, ал матчтың өту ықтималдығы – 0,64. 3-кесте. Шындыққа ұқсастық кестесі Күн райы Иә Жоқ Бұлтты 4 4/14 0,29 Күн ашық 3 2 5/14 0,36 Жауын-шашынды 2 3 5/14 0,36 Барлығы 9 5 9/14 5/14 0,64 0,36 1 Априорлық ықтималдық – жазылған деректерге сәйкес белгісіз шаманың шартты бөлінуі. 1-кесте. Оқыту іріктелімі Күн райы Ойын Күн ашық Жоқ Бұлтты Иә Жауын-шашынды Иә Күн ашық Иә Күн ашық Иә Бұлтты Иә Жауын-шашынды Жоқ Жауын-шашынды Жоқ Күн ашық Иә Жауын-шашынды Иә Күн ашық Жоқ Бұлтты Иә Бұлтты Иә Жауын-шашынды Жоқ Алматыкiтап баспасы
27 1.5-1.6. Мәшинелік оқыту алгоритмдері 3) Байес теоремасының көмегімен осындай күн райындағы әрбір класқа арналған апостериорлық ықтималдықты есептейміз. Жоғары апостериорлық ықтималдығы бар класс болжамның нәтижесі болады. Есеп. Күн ашық болса, матч өткізіле ме? Бұл есепті жоғарыда сипатталған алгоритмнің көмегімен шешеміз. P(иә|күн ашық) = P(күн ашық|иә) · P(иә) P(күн ашық) P(күн ашық | иә) = 3 / 9 = 0,33 P(күн ашық) = 5 / 14 = 0,36 P(иә) = 9 / 14 = 0,64 P есептейміз (иә|күн ашық): P(иә|күн ашық) = = 0,60. 0,33 · 0,64 0,36 Демек, күн ашық болса, матчтің өту ықтималдығы жоғары. Осылайша ҚБА көмегімен түрлі белгілері бойынша бірнеше класты болжауға болады. Бұл алгоритм негізінен мәтіндерді жіктеу саласында және көпкластық жіктеу есебін шешу кезінде қолданылады. «К-жақын көршілер» әдісі Нысанның ұқсастығы k-жақын көршілер (k-nearest neighbor algorithm, KNN) алгоритміне негізделеді. Алгоритм барлық бақылаулар арасынан бұрын белгісіз жаңа нысанға ұқсайтын k белгілі нысандарды (k-жақын көршілерді) бөліп алуға қабілетті. Жақын көршілер кластары негізінде жаңа нысанға қатысты шешім шығарылады. Осы алгоритмнің міндеті – жуық деп саналатын жазбалар санын – k коэффициентін іріктеу. Мысалы, Bluetooth гарнитурасына арналған сұранымда тауардың қай түрін көрсетуді білмесең, 5 ұқсас гарнитураны табуға болады, егер олардың 4-еуі «Аксессуарлар» класына, тек біреуі «Техника» класына жатқызылса, онда парасатты ой өз сұранымы үшін «Аксессуарлар» класын көрсетуді ұсынады. Жіктеу есептерін шешу үшін, KNN әдісін қолдануды қарастырайық. Кестедегі жазбаға сәйкес келетін m бақылаулар бар делік. Барлық жазба қандай да бір класқа жатады. Жаңа жазу үшін класты анықтау қажет. Жақын көршілер санын – k санын беру керек. Ең кіші қашықтықпен векторға дейінгі жаңа нысанның белгілерінің k жазбаларын табамыз (көршілерді іздеу). Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 28 Белгілердің реттелген мәндері үшін Евклид арақашықтығы табылады, яғни координаталары (x1 , y1 ) және (x2, y2 ) болатын нысандардың арақашықтығы мынаған тең: Жіктелетін нысанның класы – k-жақын көршілер арасында жиі кездесетін класc. Мұндай тәсілдің ерекше қасиеті – оның жалқаулығы. Бұл – есептеудің тек тестілеу мысалдарын жіктеу кезінде ғана басталатындығын, ал алдын ала тек оқыту мысалдары болған кезде ешқандай модель құрылмайтындығын білдіреді. Біз мәшинелік оқытудың бірнеше алгоритмін қарастырдық, олар әлдеқайда көп, олардың әрқайсысы өз міндеттерін шешуі қажет. Мәшинелік оқытуда бірнеше оқыту алгоритмін синтездеу (жинақтау) жиі қолданылады. Егер оқытудың бірнеше тиімсіз әдісін алып, бір-бірінің қателігін түзетуге үйрететін болса, мұндай жүйенің сапасы әрбір әдісті жеке алғанда бәрінен де жоғары болады. Мәшинелік оқытудың бірнеше алгоритмінен тұратын алгоритм – ансамбль деп, ал ансамбльді құру процесі – ансамбльдеу деп аталады. Технологияның дамуына байланысты мәшинелік оқыту анағұрлым болашағы бар бағытқа айналып келеді. Білімнің деректерді интеллектуалдық талдау сияқты жаңа салалары пайда болып жатыр. Мәшинелік оқытудың жаңа алгоритмдері пайда болуда, қолданыстағы алгоритмдер жетілдірілуде. 1. Мәшинелік оқытуда қандай алгоритмдер қолданылады? 2. Қарапайым байес алгоритмінің (ҚБА) «қарапайымдылығы» неде? 3. ҚБА қолдана отырып, қандай есептер шығаруға болады? 4. Нысанның қандай қасиеті k-жақын көршілер алгоритмінің негізіне алынған? 5. Мәшинелік оқытудың көмегімен қандай негізгі есептерді шығаруға болады? Есіңе түсір. Деңгейлік тапсырмаларды орында. А деңгейі. Параграфта сипатталған алгоритмді (ҚБА-ны), яғни кіріктірілген функциялар мен қажетті формулаларды қолдана отырып, есепті MS Excel-ге жаз. Болжам қорытындысы болатын ең үлкен апостериорлық ықтималдылықпен санатты есептеу формуласын жаз. Білу мен түсіну Қолдану Алматыкiтап баспасы
29 1.5-1.6. Мәшинелік оқыту алгоритмдері Нысандардың арасындағы арақашықтық Кестені толтыр. Мәшинелік оқыту алгоритмдері Қарапайым байес алгоритмі (НБА) Жақын көршілер әдісі (KNN) Интернет ресурстарын қол дана отырып, тағы бір мысал қос Алгоритмнің ерекшелігі Міндеті Артықшылығы Кемшілігі Қолдану үлгілері 1. Мәшинелік оқыту қандай салаларда қолданылып жатыр? Зерттеу жүргіз. Сол жағдайларда қолданылатын мәшинелік оқыту алгоритмдерін жаз. 2. Мәшинелік оқытуды дамытуға кедергі болатын түрткіжайттарға шолу жаса. 3. Параграфта қаралған алгоритмдердің көмегімен жүзеге асыруға болатын мәшинелік оқыту үшін өз есебіңді ойлап тап. Топта келесі есепті шығару алгоритмін ұсынып, оны талдаңдар: бір ай бойғы ауа ылғалдылығы мен атмосфералық қысым туралы деректер іріктелімі берілген. Осы деректерге сүйеніп, жаңбырдың жауатынына болжам жасаңдар. Топтық жұмыс Үй тапсырмасы Жоғарғы деңгейдегі тапсырмалар В деңгейі. Параграфта баяндалған алгоритмді қолданып, күн райын болжа: • бұлтты; • күн ашық; • жаңбырлы. Қажет формула мен ЕГЕР функциясын қолдан. С деңгейі. Кейбір x, y параметрлерімен бірге 5 нысан берілді делік. Нысандардың бір-бірінің арасындағы арақашықтығын тауып, қай нысандардың арасында арақашықтық ең кіші екендігін анықта. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 30 «Нейрондық желі» ұғымы Face App сияқты бейнелерді танып-білу программасы қалай жұмыс істейтінін білесің бе? Программа сурет пен бейнежазбада кім бейнеленгенін қалай біледі? Адамдар сыртқы бейнелерді қалай ажырататын болса, тура сондай ажырату тәсілі жасанды нейрондық желілердің жұмысында да қолданылады. Нейрондық желілер – адамның жүйке (нерв) жүйесінің көшірмесін алуға негізделген жасанды интеллект саласындағы бағыттардың бірі. Ғалымдар ХХ ғасырдың ортасында жасанды желінің моделін жасауға тырысты. Басты мақсаттары адамның санасын жасанды жолмен жасау идеясы болғандықтан, адам тәрізді ойлай алатын жүйе жасамақ болды. Адамның миы – күрделі биологиялық нейрондық желі. Ол сезім мүшелерінен ақпарат алады да, оны өңдейді. Кез келген биологиялық нейрондық желі сияқты біздің миымыз нейрондар жиынтығынан тұратынын биология курсынан (9-сынып) оқығансың. Биологиялық нейронның құрылысын еске түсірейік (1-сурет). «нейрондық желі» ұғымын; жасанды нейрондардың әрекет ету қағидаларын; жасанды нейрондық желілерді қолдану салаларын білесің. Нейрон – нейрон – neuron Синапс – синапс – synaps Салмақ – вес – weigh Нейрондық желі – нейронная сеть – neural network Жасанды нейрондық желі – искусственная нейронная сеть – artificial neural network Жасанды нейрон – искусственный нейрон – artificial neuron Кіру қабаты – входной слой – input layer Шығу қабаты – выходной слой – output layer Жасырын қабат – скрытый слой – hidden layer Белсендіру функциясы – активационная функция – activation function 1.7 НЕЙРОНДЫҚ ЖЕЛІЛЕР Бүгінгі сабақта: Негізгі ұғымдар: Алматыкiтап баспасы
31 1.7. Нейрондық желілер Адамның жүйке жүйесі немесе нейрондық желі – ағзаның қоршаған ортаға бейімделуін реттейтін күрделі желі. Ол ағза жүйелерінің өзара қарым-қатынасын қамтамасыз етеді. Биологиялық нейронның құрамына дендриттер кіреді, олар жүйке жасушасының денесінен басқа нейрондарға барады, онда олар синапс деп аталатын қосылыс нүктелерінде сигналдарды қабылдайды. Синапс қабылдаған кіріс сигналдар нейрон денесіне беріледі. Мұнда олар қосылады, сонымен бірге бір жолдар нейронды қоздыруға, басқалары оның қозуына кедергі жасауға тырысады. Нейронның денесіндегі жиынтық қозу белгілі бір шектен асып кетсе, нейрон аксон арқылы басқа нейрондарға сигнал беру арқылы қозады. Жасанды нейрондық желілер тек сигналды қабылдау, оны түрлендіру мен басқа нейрондарға беру сияқты қарапайым қасиеттерді ғана модельдейді. Мұндай құрылым жасанды нейрон деп аталады. Жасуша денесі Дендриттер Аксон Синапс 1-сурет. Биологиялық нейрон 2-сурет. Жасанды нейрон моделі Кірістер Шығыс Сумматор Белсендіру функциясы Синаптикалық салмақтар x1 w1j w2j w3j x1 x1 ∑ φ netj outj Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 32 Жасанды нейрондық желі (ЖНЖ) – өзара әрекеттесетін жасанды нейрондар жиынтығы. Нейрон – ақпаратты қабылдап алатын, онымен қарапайым есептеулер жасап, әрі қарай тарататын есептеу бірлігі. Олар кіріс (жасыл), жасырын (көгілдір) және шығыс (сары) деген үш негізгі түрге бөлінеді. Жасанды нейрондық желіде (ЖНЖ) ақпаратты алатын кіру қабаты, оны өңдейтін n жасырын қабат пен нәтиже шығаратын шығу қабаты бар. Әрбір нейронның кіріс деректері (input data) мен шығыс деректері (output data) деген 2 негізгі параметрі бар. Кіріс нейрон жағдайында кіріс және шығыс деректері сәйкес келеді. Қалған жағдайда input 2-суретте ұсынылған модельді 1943 жылы америкалық нейропсихолог, нейрофизиолог, жасанды нейрондық желілердің теоретигі Уоррен Мак-Каллок пен оның шәкірті Уолтер Питтс ұсынған болатын. Бір нейрон қарапайым тану процедураларын орындауға қабілетті болса да, күрделі нейронды есептеу үшін, нейрондарды желіге біріктіру қажет. Қарапайым желі қабатты құрайтын нейрондар тобынан тұрады (3-сурет). 3-сурет. Жасанды нейрондық желі Кіру қабаты Шығу қабаты Жасырын қабаты Х кіріс белгісі Шығыс белгісі Биологиялық элементтің денесіне сәйкес жиынтықтаушы блок өлшенген кірулерді алгебралық түрде жинайды да, біз netj деп атайтын шығысты жасайды. netj сигналы белсендіру функциясы φ арқылы түрленеді және шығыс нейрондық outj сигналын береді. Белсендіру функциясы әдеттегі сызықты функция болуы мүмкін. Көптеген түрлі белсендіру функциялары қолданылады. Жасанды нейрон Жасанды нейрон биологиялық нейронның қасиеттерін имитациялайды. Жасанды нейронның кірісіне x1 , x2, ... xn сияқты көптеген сигналдар келіп түседі, олардың әрқайсысы – басқа нейронның шығысы. Әрбір кіріс синаптикалық күшке ұқсас w1j , w2j , …, w1n деген сәйкес салмаққа көбейтіледі әрі жиынтықтаушы Σ блогына қосылып, нейронды белсендіру деңгейін анықтайды (2-сурет). Алматыкiтап баспасы
33 1.7. Нейрондық желілер өрісіне алдыңғы қабаттан алынған барлық нейрондардың жиынтық ақпараты келіп түседі. Ол белсендіру функциясының көмегімен қалыптандырылып, output өрісіне түседі. Неге нейрожелілер жұмыс істейді (яғни қандай да бір мәселелерді шеше алады) деген мәселені қарастырайық. Синапс (Synapsis) – бір нейронның шығысы, екіншісінің кірісі түйісетін жер, онда сигнал күшейеді немесе әлсірейді. Әрбір синапс дербес. Ол өзі арқылы өтетін сигналды күшейтуі немесе әлсіретуі мүмкін. Сонымен қатар уақыт өте келе синапстар өзгеруі мүмкін, демек, сигналдың өзгеру сипаты да өзгереді. Егер синапстардың параметрі дұрыс таңдалса, онда кіріс сигналы нейрондық желі арқылы өткеннен кейін дұрыс шығыс сигналына айналады. Көптеген кіріс сигналдардың шығыста дұрыс шешімге түрленуі дәл осылай іске асады. Нейрондық желілердің артықшылықтары Нейрондық желілердің артықшылықтары – биологиялық нейрондық желі артықшылықтарының салдары. Себебі ЖНЖ жұмысының негізінде ақпаратты биологиялық нейрон желісімен өңдеу моделі жатыр (1-cхема). 1-схема Нейрондық желілердің артықшылықтары Белгісіз заңдылықтар кезінде есептерді шығару Көптеген мысалдарды негізге алып, оқыту қабілетін қолдана отырып, нейрондық желі жағдайдың даму заңдылықтары, кіріс және шығыс деректер арасындағы тәуелділігі белгісіз есептерді шығара алады. Нейрондық желілердің артықшылықтары Кіріс деректерінің шуына төзімділік Нейрондық желі жаттықтырылғаннан кейін шулы деректер берілетін кірісті елемейтін қабілеті бар. Шамадан тыс шапшаңдық Әрбір нейрон – кішкентай процессор (ол сигналды қабылдайды, оны түрлендіреді әрі шығарады). Сигнал нейрондармен бір уақытта өңделеді. Таратылған есептеулердің үлкен желісін аламыз. Өзгерістерге бейімделу Жасанды нейрондық желілер деректерді оқып, қашан да ортаға бейімделеді. Төзімділігі Қолайсыз жағдай туындаса, олардың өнімділігі аздап қана төмендейді. Нейрондық желі құрылымының тек күрделі зақымдануы оның жұмыс істеу қабілеттілігіне айтарлықтай әсер етеді. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 34 Нейрондық желілердің кемшіліктері Нейрондық желілерде биологиялық нейрондық желілерге тән бірқатар кемшіліктер бар (2-cхема). 2-схема Нейрондық желілердің кемшіліктері Нейрондық желілердің кемшіліктері Шешімді таңдау себебін түсіндіру Жасанды нейрондық желілер «қара жәшіктің» қағидасы бойынша жұмыс істей отырып, шешім қабылдау себебін түсіндіру қажет болған кезде қолданылмайды. ЖНЖ-дан нәтижеден басқа ешқандай ақпарат, тіпті статистикалық мәліметтерді де алуға болмайды. Жауап әрдайым шамалап беріледі Нейрондық желілер дәл әрі нақты жауаптар бере алмайды. Ешқашан дәл жауап ала алмайсың, сондықтан нейрондық желілер жоғары дәлдікті талап ететін міндеттер үшін қолданылмайды. Шешімді бірнеше кезеңмен қабылдау Жасанды нейрожелілердің нейрондары, жалпы, бір-біріне тәуелді емес. Олар жай ғана сигнал алады, оны түрлендіріп, сигналды әрі қарай береді. Нейрондық желі тапсырманы тек бір рет қана шеше алады. Жасанды нейрондық желілерді қолдану Жасанды нейрондық желілерді қолдану аясы өте кең. ЖНЖ-ны қолдану олардың жұмыс істейтін деректер түріне байланысты ерекшеленеді (3-схема). 3-схема ЖНЖ-ны қолдану Жасанды нейрондық желілер Мәтін Сәйкестендіру Стильдеу Сәйкестіктерді іздеу Суреттер тудыру Суреттер семантикасы Сандар Суреттер Бейнежазба Аудио Графикалық ақпаратты өңдеуге арналған ЖНЖ-ны қолдануды қарастырайық: 1) Суреттегі нысанды сәйкестендірумен айналысатын ЖНЖ. Алматыкiтап баспасы
35 1.7. Нейрондық желілер Мұндай ЖНЖ суретте берілген нысанды анықтауды қажет ететін түрлі салаларда, мысалы, эмоция мен жас шамасын, автокөлік нөмірлерін анықтауда, медициналық диагностика саласында қолданылуы мүмкін. 2) Суретті стильдей алатын ЖНЖ. Мысалы, ЖНЖ-ға танымал суретшінің суреттерін оқытуға болады. Кейін мұндай ЖНЖ кез келген суретті сол суретшінің стиліне сәйкестендіре алады. 3) Көптеген суреттің арасында сенің суретіңдегідей нысан бар екенін анықтайтын ЖНЖ. Мысалы, иттің суреті бар графикалық файлды осындай ЖНЖ-ға жүктеген кезде, нәтижесінде біз ит бейнеленген суреттер топтамасын аламыз. 4) Жаңа бейнелерді тудыра алатын ЖНЖ. Ол үшін оны суреттер жиынтығын жүктеу арқылы оқытады, содан кейін шығысты кіріске терістейді. 5) Семантиканы, яғни суреттің мағынасын анықтауға қабілетті ЖНЖ. Бұл ЖНЖ фотосуреттегі адамды анықтап қана қоймайды, сондай-ақ суреттегіні сөзбен сипаттай алады. Мысалы: «Қызыл көйлекті қыз көшенің бойымен келе жатыр» деген сипаттама береді. Жасанды нейрондық желілерді қолдану саласына сүйене отырып, олар шешу алгоритмі белгісіз есептерді шығару үшін қолданылады деген қорытынды жасауға болады. Нейрондық желілердің жұмысы жад жұмысына ұқсас, олар суреттердің белгілерін, бөліктерін есте сақтайды, яғни нейрондық желілер оқуға қабілетті. Нейрондық желілерді оқытумен жасанды интеллект салаларының бірі – мәшинелік оқыту айналысады. Мәшинелік оқыту – білімнің өте ауқымды саласы, жасанды нейрондық желілер оның бағыттарының бірі ғана. Нейрондық желілермен жұмыс істеген кездегі ең күрделі әрі көп еңбекті қажет ететін процесс – ЖНЖ-ны белгілі бір есепті шешуге үйрету. ЖНЖ-де әрбір ұсақ-түйекті ескеру қажет, өйткені болмашы қате немесе деректердің аздаған бөлігінің болмауы бүкіл нейрондық желінің дұрыс жұмыс істемеуіне алып келеді. ЖНЖ-ны оқыту процесімен келесі параграфтарда танысасың. Жасанды нейрондық желілер көпшілікке белгілі бола бастады, оларды қолдану аясы да кеңеюде. Олар жаңа технологияларды игеруге, қолда бар технологияларды дамытуға ықпал етеді. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 36 1. «Нейрондық желі» дегеніміз не? 2. Жасанды нейронның негізгі компоненттерін ата. 3. Нейрондық желілерді қолдануға мысалдар келтір. Деңгейлік тапсырмаларды орында. А деңгейі. Мына ұғымдардың тіркемесін ретімен қой: мәшинелік оқыту, жасанды нейрондық желілер, жасанды интеллект. В деңгейі. Биологиялық нейрон мен жасанды нейронды салыстыр. Кестені толтыр. Биологиялық нейрон Жасанды нейрон Ұқсастықтары Айырмашылықтары С деңгейі. Интернет желісінен «Жасанды нейронды желілер тарихы» деген тақырып бойынша ақпарат іздеп тауып, кестені қалпына келтір. Кім? Қашан? Не істеді? 1943 ж. Күрделі биологиялық процестер математикалық модельдер арқылы көрсетілді (кибернетика) Бірқабатты персептрон ойлап табылды М. Минский Хопфилд 1986 ж. Тереңдетіп оқыту алгоритмдері Білу мен түсіну Қолдану 1. Нейрондық желілер неліктен көпшілікке мәлім? 2. Нейрондық желілердің қандай артықшылықтары мен кемшіліктері бар? 3. Нейрондық желілерді қолданғанда неліктен шектеу қойылады? 4. Қалай ойлайсың, нейрожелілер қалай жұмыс істейді? Олар қандай іс-әрекеттерді орындай алады? Жоғарғы деңгейдегі тапсырмалар Алматыкiтап баспасы
37 1.7. Нейрондық желілер Жасанды нейрондық желілерді табиғи тілмен (жазбаша және ауызша) жұмыс жасағанда қалай қолдануға болады? Топта талқылаңдар. Топтық жұмыс Үй тапсырмасы 1. Жасанды нейрондық желілер жасаған жұмыстарды тауып, кестені толтыр. Графикалық жұмыстар Бейнежазба Аудио Мәтін 2. Нейрондық желінің жұмысын өзің сынап көре алатындай 3-5 сайтты таңдап, кестені толтыр: Сайттың адресі Нейрондық желі жұмысының сипаттамасы 3. «Жасанды нейрондық желілердің болашағы» тақырыбына эссе жаз. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 38 Жасанды нейрондық желілерді биологиялық нейрондық желінің моделі ретінде қарастыруға болады. нейрондық желілердің негізгі әрекет ету қағидаларын; «белсендіру функциясы» деген не және оның не үшін керек екендігін; ЖНЖ-да қандай негізгі белсендіру функциялары қолданылатынын білесің. Синапс – синапс – sinaps Өлшенген сома – взвешенная сумма – weighted sum Белсендіру функциясы – функция активации – activation function Бірреттік секіру функциясы – функция единичного скачка – unit step function Сигмоидті функция – сигмоидальная функция – sigmoid function Логистикалық функция – логистическая функция – logistic function Оқыту іріктелімі – обучающая выборка – training set Орташа квадраттық қате – cреднеквадратичная ошибка – mean squared Error (MSE) Орташа квадраттық ауытқу – cреднеквадратичное отклонение – root MSE Желінің негізгі буыны – синапстар, себебі олар сигналды күшейтеді немесе әлсіретеді. Әрбір синапс осы байланыстың салмағы деп аталатын белгілі бір санды сипаттайды. Осы байланыс арқылы өтетін сигнал тиісті байланыс салмағына көбейтіледі. НЕЙРОНДЫҚ ЖЕЛІЛЕРДІҢ ӘРЕКЕТ ЕТУ ҚАҒИДАЛАРЫ 1.8 Бүгінгі сабақта: Негізгі ұғымдар: ЖНЖ схемасын қарастырамыз. Мысалы, ақпаратты келесіге беретін 3 нейрон бар делік. Сонда бізде осы нейрондардың әрқайсысына сәйкес келетін 3 салмақ бар. Салмағы көп болатын нейрондағы ақпарат келесі нейронда басым болады (1-сурет). 1-сурет. Синапстар w1 w2 w3 w1 =0,1 w2=0,3 w3=0,2 input output Алматыкiтап баспасы
39 1.8. Нейрондық желілердің әрекет ету қағидалары Нейрондық желі салмақтарының немесе салмақ матрицасының жиынтығы – бүкіл жүйенің өзіне тән миы. Осы салмақтардың арқасында кіріс ақпарат өңделеді де, нәтижеге айналады. Нейрондық желі жүктелген кезде салмақ кездейсоқ ретпен қойылады. Екі кіріс нейроны бар нейрондық желіні қарастырайық (2-сурет). I1 , I2, w1 және w2 – тиісті салмақтар, H – жасырын нейрон, φ – белсендіру функциясы деп белгілейік. net1 =I1 · w1 + I2· w2 out1 =φ(net1 ) net1 кіріс ақпараты – барлық кіріс деректерінің өз салмақтарына көбейтілген қосындысы. Кірісті 1 мен 0 деп белгілейік. w1 = 0,4, w2 = 0,7 болса, нейронның Н1 кіріс деректері келесідей болмақ: 1 · 0,4 + 0 · 0,7 = 0,4. Енді кіріс деректері болған кезде кіріс мәнін белсендіру функциясына қойып, шығыс деректерін алуға болады. Шығыс мәліметтері белгілі болған соң, оларды әрі қарай жібереміз. Бұл процесс шығыс нейронға жеткенше барлық қабаттар үшін қайталанады. Мұндай желіні бірінші рет іске қосып, жауаптың қате екенін көруге болады. Нәтижені жақсарту үшін, желіні жаттықтыру қажет. Кіріс сигналдарының барлық көбейтінділерін тиісті салмақтарға қосу сумматорда жүргізіледі. Сумматор жұмысының нәтижесі – «өлшенген сома» деп аталатын сан. 2-сурет. ЖНЖ w1 w2 I1 I2 H1 Өлшенген сома – кіріс сигналдарының тиісті салмақтарына көбейтілген қосындысы. Сумматордың міндеті – барлық кіріс сигналдарын бір санға – жалпы нейронға келіп түскен сигналды сипаттайтын өлшенген сомаға біріктіру. Белсендіру функциясының міндетімен танысайық. Бір жасанды нейронды қарастырайық. Оның міндеті – киноға бару немесе бармауды шешу. Ол үшін оның кірісіне әртүрлі деректер береміз. Біздің нейронда 4 кіріс болсын делік. Олар: 1) фильмнің рейтингісі; Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 40 2) билеттің құны; 3) уақыты; 4) баратын адамдардың саны. Бұл параметрлерді 0 немесе 1 деп сипаттайық. Тиісінше, егер рейтинг жоғары болса – 1, төмен – 0, билет құны қымбат – 0, арзан – 1, көрсетілім уақыты ыңғайлы – 1, ыңғайсыз – 0, баратын адамдар бар – 1, жоқ – 0. Егер нейронда төрт кіріс болса, онда төрт салмақ коэффициенті болуы керек. Біздің мысалда салмақ коэффициенттерін нейронның жалпы шешіміне әсер ететін әрбір кірістің маңыздылық көрсеткіштері ретінде көрсетуге болады. Фильмнің рейтингісі өте маңызды рөл атқарады деп есептейміз. Қалған түрткіжайттар маңыздылығы бойынша шамамен бірдей, демек, нейрон арқылы шешім қабылдау кезінде фильмнің рейтингісі шешуші рөл атқарады. Нейрондардың кірісі Нейронның кіріс сигналы Кіріс нейрондарының салмақтары Кіріс салмақтарын сәйкес кіріс сигналдарына көбейту 1. 1 4 4 2. 1 1 1 3. 0 2 0 4. 0 2 0 Кіріс сигналдарының осындай жиынтығына арналған өлшенген сома 5-ке тең. Нейрон киноға бару немесе бармауды қалай шешуі керек? Әлбетте, өлшенген соманы қалай болса да өзгертіп, жауап алу керек. Белсендіру функциясы осы мақсатты шешу үшін қолданылады. Белсендіру функциясы Өлшенген соманы шығысқа жай ғана берудің пайдасы жоқ. Нейрон оны қалайда өңдеп, тиісті шығыс сигналын қалыптастыруы керек. Белсендіру функциясы (φ(net)) – өлшенген соманы аргумент ретінде қабылдайтын функция. Бұл функцияның мәні – нейронның (out) шығысы. out=φ(net) Белсендіру функциясы өлшенген соманы нейронның шығысы болатын белгілі бір санға түрлендіреді (нейронның шығысын outi айнымалысымен белгілейміз). Алматыкiтап баспасы
41 1.8. Нейрондық желілердің әрекет ету қағидалары Белсендіру функциялары өте көп, сондықтан біз бірреттік секіру және сигмоид (логистикалық) функциясы деген ең негізгілерін қа - растырамыз. Олардың басты айырмашылығы – мәндерінің ауқымында. Бірреттік секіру функциясы Белсендіру функциясының ең қарапайым түрі. Нейронның шығысы тек 0 немесе 1-ге тең болуы мүмкін. Егер өлшенген сома белгілі бір b шегінен үлкен болса, нейронның шығысы 1-ге тең. Егер төмен болса, 0-ге тең. «Өлшенген сома 5-тен артық немесе 5-ке тең болса ғана кино көруге барамыз», – деп жоспарлайық. Демек, шек 5-ке тең деп белгіленді: b=5 Біздің мысалда өлшенген сома 5-ке тең, демек, нейронның шығыс сигналы 1-ге тең. Сонымен, біз киноға барамыз. Алайда, егер рейтинг жоғары болса, бірақ билеттің бағасы да қымбат болса, сол сияқты сеанстың уақыты ыңғайсыз және бірге баратын адамдар болмаса (кіру: 1000), онда өлшенген сома 4-ке, яғни нейронның шығысы 0-ге тең болар еді. Сонымен, біз киноға бармаймыз. Жалпы, нейрон өлшенген сомаға «байланысты» әрі ол шектен көп болса, онда нейрон 1-ге тең шығыс сигналын береді. Бұл белсендіру функциясын график түрінде былай бейнелеуге болады (3-сурет). Горизонталь осьте өлшенген соманың шамасы орналасқан. Вертикаль осьте шығыс сигналының мәні бар. Шығыс сигналының екі мәні ғана болуы мүмкін: 0 немесе 1. Сонымен бірге 0 −∞-тен шек деп аталатын өлшенген соманың белгілі бір мәніне дейінгі аралықта берілетін болады. Егер өлшенген сома шекке тең немесе одан артық болса, онда функ ция 1 санын береді. Бірреттік секіру функциясының математикалық жазбасы: Нейронның (out) шығысы (net) өлшенген сомаға тәуелді: егер net (өлшенген сома) қандай да бір шектен (b) кем болса, онда out (нейронның шығуы) 0-ге тең, егер net шекті b мәнінен үлкен не тең болса, онда out 1-ге тең. 3-сурет. Бірреттік секіру функциясы Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 42 Сигмоидті функция Сигмоидті функциялардың тұтастай топтары болады. Олардың кейбірін жасанды нейрондарда белсендіру функциясы ретінде қолданады. Нейрондық желілерде көбінесе логистикалық функция қолданылады. Бұл функцияның математикалық жазбасы: , α – функциялардың көлбеу лік дәрежесін сипаттайтын параметр. α-ның әртүрлі мәніндегі осы функцияның графигі 4-суретте бе рілген. Белсендірудің логистикалық функциясын ескере отырып, жасанды нейронымыз киноға бару немесе бармауды анықтай алатын мысалды қарастырайық. Бірреттік секіру функциясының жағдайында бәрі анық. Біз киноға барамыз (1) немесе бармаймыз (0). Егер біз сигмоидті функцияны қолданатын болсақ, бұл шындыққа жақындайды. Логистикалық функцияны белсендіру функ циясы ретінде қолдану нәтижесінде 0 мен 1 арасындағы санды аламыз. Және өлшенген сома көп болса, шығыс 1-ге (бірақ ешқашан оған тең болмайды) соғұрлым жақын болады. Керісінше, өлшенген сома аз болса, нейронның шығысы 0-ге жақын болады. Мысалы, нейронымыздың шығысы 0.9-ға тең. Бұл оның «киноға баруға болады» деп санайтындығын білдіреді. Егер оның шығысы 0.3- ке тең болса, онда бұл оның киноға баруға қарсы екенін білдіреді. Нейрондық желілерді жобалау кезінде келесі пара метрлерді ескеру қажет: 1. Оқыту іріктелімі Оқыту іріктелімі (dataset) – нейрондық желі оқытылатын деректер жиынтығы. Әрбір нақты тапсырмаға арналған оқыту жиынтығы болады. Осы деректерге берілетін тапсырмаға байланысты әртүрлі талаптар қойылуы мүмкін. 4-сурет. Логистикалық сигмоидті функция Алматыкiтап баспасы
43 1.8. Нейрондық желілердің әрекет ету қағидалары 2. Итерация Бұл нейрондық желі бір деректер жиынтығынан өткен сайын көбейетін ерекше санауыш. Басқаша айтқанда, бұл – нейрондық желі арқылы өткен оқыту іріктемелерінің жалпы саны. 3. Кезең Нейрондық желіні жүктеу кезінде бұл шама «0» деп белгіленіп, қолмен бапталады. Кезең неғұрлым көп болса, желі мен оның нәтижесі соғұрлым жақсы жаттығады. Барлық оқыту іріктелімдерінен өткен сайын кезең арта береді. Алдымен итерация n рет өседі, содан кейін ғана кезең өседі. Әрбір нейрондық желіні кезең ішінде бір рет жаттықтыру керек. Басқаша айтқанда, нейрондық желіні алдымен тек бір оқыту іріктелімінде (сетте), содан кейін екіншісінде жаттықтыруға болмайды. Осылайша есептеу кезінде қатеге жол бермейсің. 4. Қате Қате – күтілетін жауап пен алынған жауаптың арасындағы айырмашылықты көрсететін шама. Қате әр кезеңде болады, бірақ біртіндеп азаюы керек. Егер олай болмаса, демек, бұл – бір әрекетті дұрыс жасамадың деген сөз. Қатені әртүрлі жолмен есептеуге болады, бірақ біз тек орташа квадраттық қате және орташа квадраттық ауытқу деген негізгі екі әдісті қарастырамыз. Мұнда белсендіру функциясы сияқты қолдануға ешқандай шектеу жоқ, өзіңе ең жақсы нәтиже беретін кез келген әдісті таңдай аласың. Әрбір әдіс қателерді әртүрлі есептейтінін ескеру қажет. Орташа квадраттық ауытқуды қолданғанда қате аз болады, бірақ көбінесе қатені есептеу кезінде теңгерімді сақтайтын орташа квадраттық қатені қолданады. Орташа квадраттық қатені есептеу формуласы: Орташа квадраттық ауытқуды есептеу формуласы: O1 , O2,…, On – шығыста (кірісте) алынған нақты сигнал; А1 , А2,…, АIn – шығыста (кірісте) алынуы тиіс кемшіліксіз сигнал; n – dataset саны (деректер жиынтығы). Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 44 Жалпы нейрондық желіні оқыту процесін былай көрсетуге болады (5-сурет): Мысал логистикалық функциясын қолданып, нейрондық желі мен оның қатесін, орташа квадраттық қатені қолдана отырып, нейрондық желінің нәтижесін есепте. Берілгені: I1 , I2 – кіріс нейрондар, H1 , H2 – жасырын нейрондар, O1 – шығыс нейрон (6-сурет); I1 =1, I2=0, w1 =0,45; w2=0,78; w3=-0,12; w4=0,13; w5=1,5; w6=-2,3. Шешуі: net1 =I1 · w1 + I2· w3=1 · 0,45 + 0 · (–0,12)=0,45 net2=I1 · w2 + I2· w4=1 · 0,78 + 0 · 0,13=0,78 w1 w2 w3 w4 w6 w5 6-сурет. Нейрондық желі I1 I2 H1 H2 О1 5-сурет. Нейрондық желіні оқыту процесі Оқыту іріктелімі Мысалды таңдау Қатені есептеу Желі жауабы Қате аз Қате көп Желі салмағын ыңғайлау Нейрожелілер арқы лы сигналдарды тарату Желі оқытылды w1 w2 w3 w4 w6 I w5 1 I2 H1 H2 О1 Алматыкiтап баспасы
45 1.8. Нейрондық желілердің әрекет ету қағидалары netO1 =H1 · w5+H2· w6=0,61·1,5+0,78·(–2,3)= –0,66 O1ideal = 1 болсын делік. (терістеуші немесе 0 xor 1 = 1 функциясын қолданамыз). Формула бойынша қатені табамыз. Нәтижесі – 0,34; қате – 43%. А деңгейі. Берілгені: бір жасырын қабатты нейрондық желі. Желіде 1 кіріс, 3 жасырын нейрон, 1 шығыс бар. Егер кірісте барлық салмақ 1-ге тең, барлық салмақ тең болса, онда желінің шығысында не болады? Қолдану 1. Нейрондық желілер әрекетінің негізгі қағидаларын ата. 2. «Белсендіру функциясы» деген не, ол не үшін қажет? 3. ЖНЖ-да қандай негізгі белсендіру функциясын қолданады? 4. Келесі ұғымдарға анықтама бер: оқыту іріктелімі, итерация, кезең, қате. Білу мен түсіну Деңгейлік тапсырмаларды орында. В деңгейі. Егер нейрондардың белсендіру функциясында логистикалық сигмоид болса, онда O1 нейронының шығу кезіндегі сигналды есепте. Кіріктірілген функцияны қолдана отырып, шешуін MS Excel-ге жаз. Берілгені: I1 , I2 – кіріс нейрондар, H1 , H2 – жасырын нейрондар, O1 – шығыс нейрон (5-сурет). I1 =1, I2=0, w1 =0,21; w2=0,64; w3=-0,51; w4=0,11; w5=1,7; w6=-1,9. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 46 1. Бірреттік секіру функциясы сигмоидті (логистикалық) функциялардан несімен ерекшеленеді? 2. Нейрондық желіні оқыту барысында неліктен оқыту іріктелімінен басқа сынақтама іріктелімі қажет? 3. Нейрондардың салмағының алғашқы мәні неліктен еркін беріледі? 4. Кезең мен итерацияның айырмашылығы қандай? 1. Python кластарының көмегімен нейрондық желіні іске асыратын материалды оқып, оны орында. 2. «ЖНЖ-да қолданылатын негізгі белсендіру функциясы» атты таныстырылым жаса. 3. логистикалық функциясы мен орташа квадраттық қатені қолдана отырып, Excel кестелік процессорында нейрондық желі нәтижесін есепте. Үй тапсырмасы Топтық жұмыс Жоғарғы оқу орнының рейтингісін анықтайтын нейрондық желі құру керек. Қандай параметрлерге назар аударамыз? Топта талқылап, мәселені шешудің жолын ұсыныңдар. Жоғарғы деңгейдегі тапсырмалар С деңгейі. Параграфта баяндалған киноға бару немесе бармау керектігін анықтайтын қарапайым бірқабатты нейрондық желі құр. Желіде 4 кіріс нейроны болады. Бірінші жағдайда бірреттік секіру функциясын қолдан. Кіріктірілген ЕГЕР функциясын қолдан. Екінші жағдайда сигмоидті функцияны қолдан. Бірақ жауабын ЕГЕР функциясының көмегімен жаз (егер белсенділік функциясы 0,7-ден көп болса, онда киноға бару туралы хабарлама беріледі, керісінше жағдайда – жоқ). Алматыкiтап баспасы
47 1.9. Нейрондық желілерді жіктеу Жасанды нейрондық желілерді төмендегі белгілері бойынша жіктеуге болады: • қабатының саны; • байланыс түрі; • оқыту алгоритмі; • шешілетін есептердің кластары бойынша. Жасанды нейрондық желілерде нейрондар өзара бір-бірімен біріккен, бұл бірігулердің нәтижесінде қабаттар түзіледі. Нейрондық желілер қабаттарының санына қарай ол бірқабатты не көпқабатты болады. Бірқабатты нейрондық желілерде сигналдар кіріс қабатынан бірден шығыс қабатына беріледі. Ол нәтижелері бірден шығыс қабатына берілетін қажетті есептеулерді орындайды. қандай нейрондық желілер болатындығын; нейрондық желілердің ерекшеліктерін білесің. Бірқабатты нейрондық желілер – однослойные нейронные сети – singlelayer neural network Көпқабатты нейрондық желілер – многослойные нейронные сети мultilayer neural network Тікелей таралу желілері – сети прямого распространения – Feedforward neural network Радиалды-базистік функциялар – радиально-базисные функции – radial basic functions (RBF) Кері байланысты желілер – сети с обратными связями – recurrent neural network Барлық кіріс элементтері тікелей шығыс элементтерімен біріккен желі бірқабатты нейрондық желі немесе персептрон желі деп аталады. 1.9 НЕЙРОНДЫҚ ЖЕЛІЛЕРДІ ЖІКТЕУ Бүгінгі сабақта: Негізгі ұғымдар: Бірқабатты нейрондық желіні қарастырайық (1-сурет). Жеке салмағы бар Х кірістер жиынтығының әр элементі әрбір нейронмен біріктірілген. Ал әрбір нейрон өлшенген кіру санын көрсетеді. Бірқабатты желілер құрылымының күрделілігі жасырын нейрон қабаттарының жоқтығынан өзгере қоймайды. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 48 Көпқабатты нейрондық желі – кіріс пен шығыстан және олардың арасындағы бір (бірнеше) жасырын нейрон қабаттарынан тұратын нейрондық желі. 2-сурет. Көпқабатты нейрондық желі 1-сурет. Бірқабатты нейрондық желі х1 1 out1 out2 outK 2 K х2 · · · хn w11 w12 w13 w21 w22 w2K wn1 wn2 wnK Көпқабатты нейрондық желілерде нейрондардың шығу қабаттарынан бөлек жасырын қабаттар да болады. Бұл қабаттар кіріс пен шығыс қабаттарының ортасында орналасады (2-сурет). Жасанды нейрондық желілердің (ЖНЖ) тағы бір жіктеу белгісіне байланыстардың бағытталуы жатады. Егер 1, 2-суреттерге қарасаң, онда көрсеткіштер тек солдан оңға қарай, яғни кіріс қабатынан шығыс қабатына қарай салынғанын байқауға болады. Мұндай желілер кері байланысы жоқ желілер деп аталады. Олар мынадай топтарға бөлінеді: – Қателердің кері таралуы. Олар белгіленген құрылыммен, итерациялық оқытумен әрі недәуір қателер бойынша түзетумен сипатталады; – Радиалды-базистік функциялар желілері (RBF); Кіріс қабаты Шығыс қабаты Жасырын қабаты Х кіріс сигналы Шығыс сигналы Көпқабатты нейрондық желілердің бірқабатты желілерге қарағанда мүмкіндіктері көбірек. Нейрондардың жасырын қабаттарының жұмысын үлкен зауыттың жұмысымен салыстыруға болады. Өнім (шығыс белгісі) зауытта кезең бойынша жиналады. Әрбір станоктан кейін қандай да бір аралық нәтиже алынады. Жасырын қабаттар да кейбір аралық нәтижелерде кіріс сигналын қайта құрайды. Алматыкiтап баспасы
49 1.9. Нейрондық желілерді жіктеу – Басқа желілер (когнитрон, неокогнитрон, т.б. күрделі модельдер). Радиалды-базистік функциялардың желілерінде жасырын радиалды-симметриялы нейрондар болады. Кез келген нейрон кіріс векторынан өзіне сәйкес «орталыққа» дейін кейбір сызықтық заң бойынша арақашықтықты түзеді. Қателердің кері таралу алгоритмімен оқыту желілердің барлық қабаттары бойынша тікелей және кері деген екі өту жолы бар екендігін білдіреді. Тікелей өткелде кіріс векторы нейрондық желінің кіру қабатына беріледі, содан соң желі бойынша қабаттан қабатқа таралады. Нәтижесінде берілген кіріс бейнесіне нақты реакция болатын шығыс сигналдарының жиынтығы өндіріледі. Тікелей өту кезінде желінің барлық синаптикалық салмақтары тіркеледі. Кері өту уақытында желінің барлық синаптикалық салмақтары қателерді түзету ережелеріне сәйкес жөнделеді. Желінің нақты шығысы қалаулы қабаттан алынып тасталады, нәтижесінде қате сигнал түзіледі. Бұл сигнал соңында желі бойынша бағыттарға таралады, кері бағытта синаптикалық байланыстарға таралады. Қателердің кері таралу алгоритмі атауы осыдан шыққан. Синаптикалық салмақтар желінің шығыс сигналына барынша жақындау мақсатында қалаулы қабатқа жөнделеді. Кері байланысы жоқ желілердің артықшылығы – оларды жүзеге асыру оңай әрі мәліметтер қабат бойынша өткеннен кейін жауапты міндетті түрде алады. Бұл желінің кемшілігі – желі өлшемінің азаюында, нейрондар көптеген мәліметтерді өңдеуге қатысады. Желінің ең кіші өлшемі оқыту процесін жеңілдетеді. Тікелей таралу желілері (ТТЖ) – сигнал тек кірістен шығыс қабатына таралатын жасанды нейрондық желілер. Сигнал кері бағытта таралмайды. Мұндай желілер кеңінен қолданылады әрі ТТЖ болжамдау, кластерлеу мен тану сияқты міндеттерді толық шешеді. Сигнал кері жаққа кететін нейрондық желілер бар, кейбір қабаттардың шығыстан кіріске осы қабатпен немесе алдыңғы қабаттармен жүретін бірігулері болады (3-сурет). Кері байланысты желілер – нейронның шығуы қайтадан кіру жолына берілетін жасанды нейрондық желілер. Алматыкiтап баспасы
Жасанды интеллект 1-бөлім. 50 Тікелей таралу желілерінде шығыс кіру сигналымен және жасанды нейрондағы салмақты коэффициенттермен анықталады. Ал кері таралу желілерінде нейрондардың шығысы кіріске қайтып келуі мүмкін. Бұл қандай да бір нейронның тек салмағы және кіріс сигналымен ғана емес, алдыңғы шығыстармен де анықталатындығын білдіреді (өйткені олар кіріске қайтып келеді). Мұндай желілердің жауабы динамикалық, жаңа кірістің қосымшасынан кейін шығыс есептелінеді және желі бойынша кері байланысқа беріле отырып, кірісті өзгертеді. Содан кейін шығыс қайтадан есептелінеді де процесс қайталанады. Тұрақты желі үшін бірізді итерация шығыстың аздаған өзгерістеріне әкеледі, ақыр аяғында шығыс тұрақты болмайды. Сигналдардың желіде айналып жүру мүмкіндігі нейрондық желілердің жаңа мүмкіндіктерін ашады. Осындай желілердің көмегімен қалпына келтіретін немесе сигналдарды толықтыратын нейрожелілерді құруға болады. Нейрондық желілердің кері байланысты саласындағы зерттеулер жадтың ассоциативті қағидасы бойынша жұмыс істейтін құрылымды құруға мүмкіндік туғызды. Адамның жады ассоциативті, яғни кейбір еске түсірулер өздерімен байланысты үлкен саланы тудыруы мүмкін. Мысалы, бірнеше музыкалық такт жанға жайлы естеліктерді, тіпті солармен байланысты көріністерді, дыбыстар мен иістерді есіңе түсіреді. Керісінше, кәдімгі компьютер жады тек адрестік, яғни осы адрес бойынша ақпарат алынады. Сәйкес бейнеге дәлденген (синаптикалық салмақтарды таңдау жолы) кері байланыстағы желі адамның ассоциативті жад үлгісі болып қызмет етуі мүмкін. Жалғыз кірістің әсері шығыстардың толық ауысу жағдайын орнатады. Берілген бөліктің қажетті ақпараты бойынша жадтан барлық ақпарат шығарылып алынады. Үшінші аса маңызды емес жіктеу белгісі – оны оқыту (теңшеу). Оқыту мүмкіндігі – дәстүрлі алгоритмдердің алдындағы нейронх2 y2 х3 y3 w31 w32 w w13 23 w21 w12 3-сурет. Кері байланысты нейрондық желі Кері байланыс х1 y1 Алматыкiтап баспасы