AI 101
Autoencoder ni nini?
Ikiwa umesoma kuhusu mbinu za kujifunza bila kusimamiwa hapo awali, unaweza kuwa umekutana na neno “msimbo otomatiki”. Visimbaji kiotomatiki ni mojawapo ya njia za msingi ambazo miundo ya kujifunza isiyosimamiwa hutengenezwa. Bado kisimbaji kiotomatiki ni nini haswa?
Kwa ufupi, visimbaji kiotomatiki hufanya kazi kwa kuchukua data, kubana na kusimba data, na kisha kuunda upya data kutoka kwa uwakilishi wa usimbaji. Muundo huo unafunzwa hadi upotevu upunguzwe na data itolewe tena kwa karibu iwezekanavyo. Kupitia mchakato huu, kisimbaji kiotomatiki kinaweza kujifunza vipengele muhimu vya data. Ingawa hiyo ni ufafanuzi wa haraka wa kisimbaji kiotomatiki, itakuwa vyema kuangalia kwa makini visimbaji kiotomatiki na kupata ufahamu bora wa jinsi zinavyofanya kazi. Makala haya yatajaribu kuondoa siri za kusimbua kiotomatiki, ikielezea usanifu wa visimbaji otomatiki na matumizi yake.
Autoencoder ni nini?
Visimbaji otomatiki ni mitandao ya neva. Mitandao ya Neural inaundwa na tabaka nyingi, na kipengele kinachobainisha cha kisimbaji kiotomatiki ni kwamba safu za ingizo zina habari nyingi sawa na safu ya pato. Sababu kwamba safu ya ingizo na safu ya pato ina idadi sawa ya vitengo ni kwamba kisimbaji kiotomatiki kinalenga kunakili data ya ingizo. Inatoa nakala ya data baada ya kuichanganua na kuijenga upya kwa mtindo usiosimamiwa.
Data inayosonga kupitia kisimbaji kiotomatiki haijachorwa tu kutoka kwa ingizo hadi pato, kumaanisha kuwa mtandao haunakili data ya ingizo pekee. Kuna vipengele vitatu kwa kisimbaji otomatiki: sehemu ya usimbaji (ingizo) inayobana data, kijenzi kinachoshughulikia data iliyobanwa (au kizuizi), na sehemu ya kusimbua (too). Data inapoingizwa kwenye kisimbaji otomatiki, husimbwa na kisha kubanwa hadi saizi ndogo. Mtandao basi hufunzwa kwenye data iliyosimbwa/kubana na hutoa tafrija ya data hiyo.
Kwa hivyo kwa nini ungetaka kutoa mafunzo kwa mtandao kuunda tena data ambayo imepewa? Sababu ni kwamba mtandao hujifunza "kiini", au vipengele muhimu zaidi vya data ya pembejeo. Baada ya kufunza mtandao, muundo unaweza kuundwa ambao unaweza kuunganisha data sawa, kwa kuongeza au kutoa vipengele fulani lengwa. Kwa mfano, unaweza kufundisha kisimbaji kiotomatiki kwenye picha za nafaka kisha utumie kielelezo kilichofunzwa kuondoa nafaka/kelele kwenye picha.
Usanifu wa Autoencoder
Hebu tuangalie usanifu wa kisimbaji otomatiki. Tutajadili usanifu mkuu wa kisimbaji kiotomatiki hapa. Kuna tofauti juu ya usanifu huu wa jumla ambao tutajadili katika sehemu hapa chini.

Picha: Michela Massi kupitia Wikimedia Commons,(https://commons.wikimedia.org/wiki/File:Autoencoder_schema.png)
Kama ilivyotajwa hapo awali, kisimbaji kiotomatiki kinaweza kugawanywa katika vipengele vitatu tofauti: kisimbaji, kizuizi na kisimbuaji.
Sehemu ya kusimba ya kisimbaji otomatiki kwa kawaida ni mtandao wa usambazaji, uliounganishwa sana. Madhumuni ya tabaka za usimbaji ni kuchukua data ya ingizo na kuibana katika uwakilishi wa nafasi fiche, na kutoa uwakilishi mpya wa data ambao umepunguza ukubwa.
Safu za msimbo, au kizuizi, hushughulika na uwakilishi uliobanwa wa data. Msimbo wa kizuizi umeundwa kwa uangalifu ili kubainisha sehemu muhimu zaidi za data iliyozingatiwa, au kuweka kwa njia nyingine vipengele vya data ambavyo ni muhimu zaidi kwa uundaji upya wa data. Lengo hapa ni kuamua ni vipengele vipi vya data vinavyohitaji kuhifadhiwa na ambavyo vinaweza kutupwa. Msimbo wa kizuizi unahitaji kusawazisha mambo mawili tofauti: saizi ya uwakilishi (jinsi uwakilishi ulivyo thabiti) na utofauti/umuhimu wa kipengele. Kikwazo hufanya kuwezesha kipengele kwa uzani na upendeleo wa mtandao. Safu ya chupa pia wakati mwingine huitwa uwakilishi fiche au vigeu vilivyofichika.
Safu ya avkodare ndiyo ina jukumu la kuchukua data iliyobanwa na kuibadilisha kuwa kiwakilishi chenye vipimo sawa na data asilia, ambayo haijabadilishwa. Ugeuzaji unafanywa kwa uwakilishi wa nafasi fiche ambao uliundwa na kisimbaji.
Usanifu wa kimsingi zaidi wa kisimbaji otomatiki ni usanifu wa kusambaza mbele, na muundo kama vile perceptron ya safu moja inayotumiwa katika vielelezo vya safu nyingi. Kama vile mitandao ya kawaida ya neva ya kusambaza mbele, kisimbaji kiotomatiki hufunzwa kupitia uenezaji nyuma.
Sifa za Kisimbaji Kiotomatiki
Kuna aina mbalimbali za kusimbua otomatiki, lakini zote zina sifa fulani zinazowaunganisha.
Visimbaji kiotomatiki hujifunza kiotomatiki. Hazihitaji lebo, na ukipewa data ya kutosha ni rahisi kupata kisimbaji kiotomatiki ili kufikia utendakazi wa juu kwenye aina mahususi ya data ya ingizo.
Visimbaji kiotomatiki ni data mahususi. Hii inamaanisha kuwa wanaweza tu kubana data ambayo inafanana sana na data ambayo kisimbaji kiotomatiki tayari kimefunzwa. Visimbaji otomatiki pia ni hasara, ikimaanisha kuwa matokeo ya modeli yataharibiwa kwa kulinganisha na data ya ingizo.
Wakati wa kuunda kisimbaji kiotomatiki, wahandisi wa kujifunza mashine wanahitaji kuzingatia vigezo vinne tofauti vya muundo: saizi ya msimbo, nambari ya safu, nodi kwa kila safu, na utendaji wa upotezaji.
Ukubwa wa msimbo huamua ni nodi ngapi zinaanza sehemu ya kati ya mtandao, na nodi chache zinabana data zaidi. Katika kisimbaji kiotomatiki kirefu, wakati idadi ya tabaka inaweza kuwa nambari yoyote ambayo mhandisi anaona inafaa, idadi ya nodi kwenye safu inapaswa kupungua kadiri kisimbaji kinavyoendelea. Wakati huo huo, kinyume ni kweli katika avkodare, ikimaanisha kwamba idadi ya nodi kwa kila safu inapaswa kuongezeka kadiri tabaka za avkodare zinavyokaribia safu ya mwisho. Hatimaye, utendakazi wa upotezaji wa kisimbaji otomatiki kwa kawaida huwa ama hitilafu mtambuka ya binary au hitilafu ya maana ya mraba. Binary cross-entropy inafaa kwa matukio ambapo thamani za ingizo za data ziko katika safu 0 - 1.
Aina za Autoencoder
Kama ilivyoelezwa hapo juu, kuna tofauti kwenye usanifu wa kiencoder wa kawaida. Hebu tuchunguze usanifu tofauti wa kisimbaji otomatiki.
Kidogo

Picha: Michela Massi kupitia Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Autoencoder_sparso.png)
Wakati visimbaji kiotomatiki kawaida huwa na kizuizi ambacho hubana data kupitia kupunguzwa kwa nodi, kisimbaji kiotomatiki chaches ni mbadala wa umbizo hilo la kawaida la utendaji. Katika mtandao mdogo, tabaka zilizofichwa hudumisha ukubwa sawa na tabaka za encoder na decoder. Badala yake, uanzishaji ndani ya safu fulani huadhibiwa, ikiisanidi ili utendakazi wa upotezaji unasa vizuri sifa za takwimu za data ya ingizo. Kuweka hivyo kwa njia nyingine, ilhali tabaka zilizofichwa za kisimbaji kiotomatiki chache zina vitengo vingi kuliko kisimbaji kiotomatiki cha kitamaduni, ni asilimia fulani tu kati yao hutumika wakati wowote. Vitendaji vyenye athari zaidi huhifadhiwa na vingine vinapuuzwa, na kikwazo hiki husaidia mtandao kubainisha vipengele muhimu zaidi vya data ya ingizo.
Mkandarasi
Visimbaji otomatiki vya mkataba zimeundwa ili kustahimili tofauti ndogo katika data, kudumisha uwakilishi thabiti wa data. Hii inakamilishwa kwa kutumia adhabu kwa kazi ya upotezaji. Mbinu hii ya kuhalalisha inategemea kanuni ya Frobenius ya matrix ya Jacobian kwa kuwezesha usimbaji wa ingizo. Athari ya mbinu hii ya urekebishaji ni kwamba modeli inalazimishwa kuunda usimbaji ambapo pembejeo zinazofanana zitakuwa na usimbaji sawa.
Convolutional
Visimbaji kiotomatiki vya ubadilishaji simba data ya ingizo kwa kugawanya data katika vifungu vidogo na kisha kubadilisha vijisehemu hivi kuwa mawimbi rahisi ambayo yanajumlishwa pamoja ili kuunda uwakilishi mpya wa data. Sawa na kubadilisha mitandao ya neural, kisimbaji kiotomatiki cha ubadilishaji kinataalamu katika ujifunzaji wa data ya picha, na hutumia kichujio ambacho husogezwa katika sehemu nzima ya picha kwa sehemu. Usimbaji unaozalishwa na safu ya usimbaji unaweza kutumika kuunda upya picha, kuonyesha picha, au kurekebisha jiometri ya picha. Mara vichujio vimejifunza na mtandao, vinaweza kutumika kwenye ingizo lolote la kutosha kutoa vipengele vya picha.
Kutoa sauti

Picha: MAL kupitia Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:ROF_Denoising_Example.png)
Kusimbua visimbaji otomatiki anzisha kelele kwenye usimbaji, na kusababisha usimbaji ambao ni toleo mbovu la data asili ya ingizo. Toleo hili mbovu la data hutumika kufunza muundo, lakini chaguo la kukokotoa la kupoteza hulinganisha thamani za matokeo na ingizo asili na wala si ingizo mbovu. Lengo ni kwamba mtandao utaweza kuzaliana toleo la asili, ambalo halijaharibika la picha. Kwa kulinganisha data iliyoharibika na data asili, mtandao hujifunza ni vipengele vipi vya data ni muhimu zaidi na ni vipengele gani si muhimu/ufisadi. Kwa maneno mengine, ili kielelezo kitoe sauti ya picha zilizoharibiwa, lazima iwe imetoa vipengele muhimu vya data ya picha.
Tofauti
Visimbaji otomatiki tofauti hufanya kazi kwa kutoa mawazo kuhusu jinsi vigeuzo vilivyofichika vya data vinavyosambazwa. Kisimbaji kiotomatiki cha kibadala hutoa usambazaji wa uwezekano wa vipengele tofauti vya picha za mafunzo/sifa fiche. Wakati wa mafunzo, programu ya kusimba huunda usambazaji fiche kwa vipengele tofauti vya picha za ingizo.
Kwa sababu modeli hujifunza vipengele au picha kama usambazaji wa Gaussian badala ya thamani tofauti, inaweza kutumika kutengeneza picha mpya. Usambazaji wa Gaussian unachukuliwa sampuli ili kuunda vekta, ambayo huingizwa kwenye mtandao wa kusimbua, ambao hutoa picha kulingana na vekta hii ya sampuli. Kimsingi, mtindo hujifunza vipengele vya kawaida vya picha za mafunzo na kuzipa uwezekano fulani kwamba zitatokea. Usambazaji wa uwezekano unaweza kisha kutumiwa kubadilisha uhandisi wa picha, kutoa picha mpya zinazofanana na picha asili, za mafunzo.
Wakati wa kufundisha mtandao, data iliyosimbwa huchanganuliwa na modeli ya utambuzi hutoa vekta mbili, ikichora wastani na mkengeuko wa kawaida wa picha. Usambazaji huundwa kulingana na maadili haya. Hii inafanywa kwa majimbo tofauti ya siri. Avkodare kisha huchukua sampuli nasibu kutoka kwa usambazaji sambamba na kuzitumia kuunda upya pembejeo za awali kwa mtandao.
Programu za Kisimbaji Kiotomatiki
Visimbaji otomatiki vinaweza kutumika kwa upana mbalimbali ya maombi, lakini kwa kawaida hutumiwa kwa kazi kama vile kupunguza vipimo, kuondoa sauti ya data, kutoa vipengele, kutengeneza picha, utabiri wa mfuatano na mifumo ya mapendekezo.
Uondoaji sauti wa data ni matumizi ya visimbaji kiotomatiki kuondoa nafaka/kelele kutoka kwa picha. Vile vile, visimbaji kiotomatiki vinaweza kutumika kurekebisha aina nyingine za uharibifu wa picha, kama vile picha zisizo na ukungu au picha ambazo hazina sehemu. Kupunguza vipimo kunaweza kusaidia mitandao yenye uwezo wa juu kujifunza vipengele muhimu vya picha, kumaanisha kwamba visimbaji kiotomatiki vinaweza kutumika kuongeza mafunzo ya aina nyingine za mitandao ya neva. Hii pia ni kweli kwa kutumia visimbaji kiotomatiki kwa uchimbaji wa vipengele, kwani visimbaji kiotomatiki vinaweza kutumiwa kutambua vipengele vya seti nyingine za data za mafunzo ili kutoa mafunzo kwa miundo mingine.
Kwa upande wa utengenezaji wa picha, visimbaji kiotomatiki vinaweza kutumika kutengeneza picha ghushi za binadamu au vibambo vilivyohuishwa, ambavyo vina programu katika kubuni mifumo ya utambuzi wa nyuso au kugeuza kiotomatiki vipengele fulani vya uhuishaji.
Mitindo ya utabiri wa mfuatano inaweza kutumika kubainisha muundo wa muda wa data, kumaanisha kuwa kisimbaji kiotomatiki kinaweza kutumika kuzalisha kinachofuata hata katika mfuatano. Kwa sababu hii, kisimbaji kiotomatiki kinaweza kutumika kutengeneza video. Hatimaye, visimbaji kiotomatiki vya kina vinaweza kutumiwa kuunda mifumo ya mapendekezo kwa kuchagua ruwaza zinazohusiana na maslahi ya mtumiaji, huku kisimbaji kikichanganua data ya ushiriki wa mtumiaji na avkodare kuunda mapendekezo ambayo yanalingana na mifumo iliyowekwa.

