AI семинары: Кескіндерді тануға машинаны қалай үйрету керек

Жасанды интеллект кескіндерді қалай танып білетінін көрген кезде, біздің машиналарымыз бірнеше минут паркте күтуге мәжбүр болады. Біздің көлік те осы қабілетке сенеді. Сондай-ақ, нейрондық желілердің қалай құрылымдалғанын көреміз.

Суретте: Фрида Агилар Эстрада

Біздің көлігіміз алға жылжуы үшін камера қажет. Олардың бірі - Lidar (Жарықты анықтау және өзгерту) радиолокациясы, оның айналасын картаға түсіру үшін лазер сәулелерін пайдаланады. Бірақ егер Элон Маск Tesla үшін оптикалық шешім жеткілікті деп ойласа, бізге бұл жеткілікті. Бұл постта AI кескінін танудың технологиялық негізін сипаттауға тырысамын.

Жасанды оқытудың үш негізгі категориясы бар: күшейтілген оқыту, бақыланатын оқыту және бақыланбайтын оқыту. Қадағаланатын оқу - бұл АИ-ді оқытудың өте кең таралған тәсілі және біз бүгін осыған тоқталамыз. Идея - бұл бұрын жіктелген машина мәліметтерін беру. Біздің жағдайда біз компьютерге көптеген суреттерді көрсетеміз және олар не бейнелейтінін айтқымыз келеді. Біз оны лазанья, фалафель және даршын бөренелерін ажырата білуге ​​үйрете аламыз. Сондықтан біз оған үшеуінің суреттерін, көптеген суреттерді көрсетеміз. AI дайын болған кезде, біз оған жаңа кескінді көрсете аламыз және ол үш нұсқаның бірі болу ықтималдығын есептейді.

Біздің балмұздақ көлігімізді портта тұрақтады деп елестетіп көріңізші, біз оның сатылымын алдын-ала болжай аламыз, сондықтан бізде жеткілікті қор болуы мүмкін. Балмұздақ сатудың қандай факторы болуы мүмкін? Күннің температурасы жақсы болуы мүмкін. Сонымен, күннің температурасы мен балмұздақ сатылымын қарастырайық. Оларды диаграммаға салып, мәліметтерді талдау үшін сызықтық регрессияны қолдана аламыз. Бұл бізге алдын-ала болжау жасау үшін қолдануға болатын ең жақсы сызықты береді. Сызықтың позициясы барлық нүктелерден сызыққа дейінгі қашықтықты оңтайландыру арқылы анықталады және оны мүмкіндігінше аз етіп орналастырыңыз. Сәйкес келу сызығымен біз бірнеше болжам жасай аламыз.

Бірақ күнделікті орташа температура сату үшін жалғыз фактор емес шығар. Егер суретке жаңбырдың мөлшерін қоссақ, онда біз үш өлшемді диаграмманы аламыз. Ең жақсы сызық ең жақсы жазықтыққа айналады. Егер аптаның күнін талдауға қосатын болсақ, біз елестете алмайтын модельге аяқ басамыз. Осындай нейрондық желілер сияқты күрделі жағдайларда өте жақсы жұмыс істейді.

Бастапқыда жасанды технологияны зерттеу адамның ақыл-ойына еліктеуге тырысты, өйткені кейбір терминдер биологиядан белгілі. Бізде нейрондар, синапстар мен қоздырғыштар бар. Бірақ бізде де деректану ғылымында жоғалту функциясы мен артық жабдықтау сияқты көптеген терминдер бар. Қазір адамның миын қайта құру енді мақсат емес, терминология тұра қалды.

Нейрондық желілер синапстарды пайдаланып бір-бірімен байланысқан нейрондардан тұрады. Байланыстардың салмағы әртүрлі. Нейрондарға активтендіру функциялары берілген, олар нейронды қашан шығарып, ақпарат таратады. (Әр түрлі активтендіру функциялары туралы және оларды қашан пайдалану керектігі туралы осы жерден білуге ​​болады)

Біз әріптердің суреттерін танып білетін зергер жасағымыз келеді. Бізде келесі өрнектер бар, әр шаршы бір суретті ұсынады. Біз қадам функциясын тек 0 немесе 1 нәтижесін беретін активация функциясы ретінде қолдануды шештік, егер пиксель ақ болса, ол 0 шығады. Пикселде түстер болса, ол 1 шығады. Қай түстің айырмашылығы болмайды, бірақ айырмашылықтарды суреттеу үшін мен түрлі түсті қолдандым. Пиксел ақ түспен өзгергенде нейрон белсенді болады. Ақпаратты реті мен салыстырмалы болуы үшін біз нәтижені солдан оңға, жоғарыдан төменге қарай басып шығарамыз. S фигурасы үшін нейрондардың шығуы 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1 және Е суреті үшін ол 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1 болады.

Енді фигураларды ажырату үшін салмақты нейрондық шығаруға қалай қолдану керектігін анықтау керек. Бұған жету үшін шексіз шешім бар. Шығармашылық әртүрлі болатын пикселдерге назар аудару керек екені анық. Яғни, біз екі салмақты (күлгін түстермен) белсендірілген барлық пикселдер үшін 0 салмағын қолдана аламыз. Барлық ақ пиксельдер нейрондарды белсендірмейді, сондықтан олардың салмағы туралы ойлаудың қажеті жоқ.

Мысалы, егер нәтиже теріс болса, цифрімен Е, ал оң нәтижелер S цифрымен сәйкес келеді деп шешуге болады, бұған жету үшін Е салмағы 1-ге тең активтенетін нейронды және тек фигурамен жанатын нейронды берейік. Салмақ 1. Басқа нәтижелер 0-ге көбейтілген кезде 1 немесе -1 нәтижелерін аламыз.

Барлық S шығарылымдарының қосындысы 0 x 1+ 0 x 1+ 0 x1 +0 x 1+ 0 x 1+ 0 + 0 + 0 + 0 x 1 + 0 x 1 + 0 x 1 + 0 x 1 болады. + 0 + 0 + 0 + 1 x 1 + 0 x 1 + 0 x 1 + 0 x 1+ 0 x 1 = 1. E санының барлық шығарындыларының қосындысы 0 x 1 + 0 x 1 + 0 x 1 + 0 x 1 + 0 x 1 + 0 + 0 + 0 + 0 x 1 + 0 x 1 + 0 x 1 + 0 болады. x 1 + (-1 x 1) + 0 + 0 + 0 + 0 x 1 + 0 x 1 + 0 x 1 + 0 x 1 = -1.

Бұл оңай шешілді. Егер біз F әрпін қоспаға қоссақ, онда заттар біршама күрделене түседі.

Е және F әріптерін саралауға еш қиындықсыз қол жеткізуге болады, мысалы:

Бұл салмағы 11 х 0,1 = 1,1 немесе 3 х (-1) = -3, F фигурасы үшін оң нәтиже, Е суреті үшін теріс болады, алайда S суретін қосқанда айырмашылықтар аз болады салмақпен саралау қиынырақ. Әріптерді қосу оны одан сайын нашарлатады.

Бізге теріс емес оң нәтижелерден гөрі күрделі шешім қажет. Нәтижесінде S суреттері үшін 0-ден 2-ге дейін, E суреті үшін 2-ден 4-ке дейін нәтиже тағайындауымыз мүмкін. Нейрондық қабаттарды нейрондық желіге қосқан кезде ол салмақтарда неғұрлым жетілдірілген өзгерістер жасай алады және басқа пиксель болған жағдайда ғана пиксель маңызды болады іске қосылды. Нейрондық желілер біз оларды қолданғымыз келетін күрделі тапсырмаларды орындай алады. Қосымша жасырын қабаттарды қосу AI-дің білім алу қабілетін тереңдетеді.

Күте тұр! Қандай жасырын қабаттар? Нейрондық желідегі нейрондар әдетте әр нейронның жанындағы қабаттардағы барлық басқа нейрондарға қосылатындай етіп құрылған. Нейрондық желі әдетте үш бөліктен тұрады: кіріс қабаты, бір немесе бірнеше жасырын қабаттар және шығу қабаты.

Кіріс қабаты желіге берген ақпараттан тұрады. Мәліметтер жасырын қабаттар арқылы өтетін кезде салмақтар сандарды реттейді, және олардың барлығы біріккенде біз шығатын қабат пен бағалау нәтижесін аламыз. Көбірек жасырын қабаттар неғұрлым анық емес деректерді өңдей алады, бірақ көп есептеу қуатын қажет етеді. Олар сонымен қатар бізге жасырын қабаттарда не болатынын түсінуді қиындатады.

Нейрондар арасындағы салмақ қалай дамиды? Басында олардың барлығы бірдей немесе кездейсоқ сандар генераторымен жасалады. Бірақ нейрондық желі құпия мәліметтермен қоректенсе, бұл салмаққа әсер етеді. Нейрондық желі басқаларға қарағанда қандай позициялардың маңызды екенін және қайсылардың бір-бірімен байланысты екенін анықтайды. Бұл үшін өте пайдалы технология - бұл кері нәтиже беру алгоритмі, нәтиже қабатынан жасырын қабаттарға және т.б. Ол деректерге нейрондық желіге сәйкес келеді. Соңында түзетілген салмақ желіге жақсы болжам жасауға мүмкіндік береді.

Балмұздақ сатылымын болжауға арналған нейрондық желі мысалы:

Сатылымдар, күндер және ауа-райы туралы мәліметтеріміз нейрондардың салмағын реттеді. Болжамдардың дұрыстығын бағалау үшін бізге бұрын қолданылған оқу мәліметтер жиынтығынан басқа тестілеу жиынтығы қажет. Сынақ жиынтығы нейрондық желі әлі көрмеген жағдайлардан тұрады. Олардың нәтижелері біздің болжамдарымыздың қаншалықты дәл екендігін көрсетеді.

Нейрондық желіні оқыту, күйге келтіру және бағалау кезінде біз оны мәліметтер қорына сыйғызбауымыз керек. Тренингтер жиынтығында іс жүзінде бір-біріне байланысты емес аспектілер болуы мүмкін. Корреляция себептілікпен бірдей емес. Сіз мұнда мысалдарды таба аласыз, мысалы, моцарелла тұтынуы мен құрылыс инженериясының докторлық құрамы статистикалық тұрғыдан бір-біріне тәуелді, бірақ іс жүзінде олардың бір-біріне ешқандай қатысы жоқ. Сондықтан мәліметтер базасына қатысты ақпаратты ғана қосу ұсынылады. Әрине, дәлдік үшін оқу жиынтығының сапасы мен саны маңызды.

Сұрыптау мысалында біздің белсенділік функциямыз пиксельдің ақты немесе жоқтығын байқады. Әдетте суреттер туралы ақпарат компьютерлер қажет ететін сандарға түрлендіріледі. Егер кескін қара-ақ болса, әр пиксельге 0 (қара) мен 255 (ақ) арасындағы жарықтылық мәні беріледі. Түрлі-түсті кескіннің пикселдері 0-ден 255-ке дейінгі үш RGB мәніне ие болады. Экрандағы барлық түстер қызыл, жасыл және көк жарығын араластыру арқылы жасалады. (Бұл менің бірнеше жылдардан бері білетін фактім және ол әлі де өте интуитивті сезінеді).

Біздің қарапайым мысалда сандар әрдайым бірдей қалыпта болды, бұл әдеттегідей емес. Тіпті төлқұжаттың суреттер базасында бәрі көзге көрінбейді. Суретті тануды тезірек және тиімді ететін технология - бұл нейрондық желіге жинақтау қабатын қосу. Бұл белгілі бағыттардағы жиектер, өрнектер немесе түрлі-түсті спотчектер сияқты танымал суреттің мүмкіндіктерін іздейді. Иттің мұрны бір, адамның саусақтары бір, балмұздақ конусының пішіні мен құрылымы бір болуы мүмкін. Содан кейін, балмұздақ кескіннің сол немесе оң жағында ма, ол тік немесе диагональмен тұрса да, конус қанша мөлшерде тұрғаны маңызды емес. Бұл сіз бейнені тануды қаншалықты жеңілдететінін елестете аласыз. Конвульсия қабаты бар нейрондық желілер конвульсиялық нейрондық желілер деп аталады.

Сенімді нәтижеге қол жеткізу үшін бізге жаттығулар жиынтығы сияқты үлкен көлемдегі суреттер қажет. Бағдарламалауға байланысты көптеген нәрселер сияқты, біз дөңгелекті қайта ойлап табудың қажеті жоқ. Біз қолданыстағы кітапханалар мен мәліметтер базасын қолдана аламыз.

Маңызды мәліметтер жиынтығы - бұл MNIST қолжазбаларының стандартталған дерекқоры. Әр он жыл сайын АҚШ өз шекарасында тұратын барлық адамдардың есебін жүргізеді. Бұл барлық адамдарға қағаз сауалнаманы толтыру арқылы жасалады. Популяция саны мен құрылымы туралы маңызды ақпараттар жинауға қосымша қолжазбаның көптеген үлгілерін шығарады. Осы үлгілерден әріптер мен сандарға арналған стандартталған мәліметтер базасы жасалды, оны қолдана отырып, өзіңіздің АИ-ді үйрете немесе тексере аласыз. Өкінішке орай, ол ағылшын алфавитіндегі 26 әріптен тұрады. Дайын ресурстарды пайдалану кезінде жиі кездесетін проблема түрі. Егер сіз AI және нейрондық желілерді сынап көргіңіз келсе, кем дегенде, бастауға болатын орын бар және сіз өзіңізді жинай және жасай алатын мәліметтермен шектелмейсіз.

Машинамен оқыту туралы есте сақтау керек нәрсе - машиналар ұғымдарды үйренбейді, олар тек сол түсініктердің қалай көрінетінін біледі. Компьютерде бізде бай тәжірибе жинақталмаған. Осыған байланысты машиналар үшін бізге түсінікті болып көрінетін кейбір суреттерді ажырату әлі де қиын. Ал машина тек білуге ​​болатын нәрселер туралы біле алады. Өздігінен жүретін автокөліктің алдында оның алма немесе үкі екенін білудің қажеті жоқ. Кедергі кедергі болып табылады және оны жіберуге тура келеді. Тек автомобиль үшін бұл өте маңызды.

Бірақ АИ минуттық және нәзік айырмашылықтарды анықтауда маман болуға үйретілуі мүмкін. Рак скринингін талдау немесе диабеттің диагнозын диагноз қою, көздің қан тамырларындағы өзгерістер анағұрлым дәл және тез нәтиже береді. Машина сонымен бірге олар қайталанған тапсырмадан ешқашан жалықпайды және шаршамайды.

Сондықтан маған қайсысының қайсысы жақсырақ екенін өлшеу сұралса - адамның немесе жасанды бейнені тану - мен алмадым. Екеуі де өте, өте әртүрлі.