ياخشىمۇ بۇرادەرلەر، خىزمەت ئالدىراشچىلىقى بىلەن بەك كۆپ ۋاقىت چىقىرىپ يازما يېزىپ بولالمىدىم، شۇنداقتىمۇ ۋاقىت ئىچىدىن ۋاقىت چىقىرىپ نىرۋا تورى (Neural network) ھەمدە Convolutional neural network توغرىسىدىكى تەجرىبىلىرىمنى خاتىرلەپ قويۇشنى قارار قىلدىم،
يازما مەزمۇنى بەك كۆپ ئەمەس، ئەمما شۇنداقتىمۇ جىقراق خەت بېسىشقا تېرىشىمەن 😁
ئاۋال باشلاشتىن بۇرۇن قىسقىچە نىرۋا تورى توغرىسىدا توختىلايلى، (ئالدىمىزدا خىلى ئۇزۇنچە قىلىپ توختىلىمىز.)
نىرۋا تورى دىگەن نىمە؟
نىرۋا تورى بولسا سۈنئىي ئەقىلگە تەۋە بولغان تۈر: ماشىنىلىق ئۆگىنىش (ماشىنىنىڭ ئۆگىنىشى) نى ئادەم مېڭىسىنى تەقلىد قىلىپ ئەمەلگە ئاشۇرغان بىر خىل ئۇسۇل،
بۇ يەردە ئاساسلىق ئۈچ ئاتالغۇنى تىلغا ئالىمىز:
- سۈنئىي ئەقىل Artificial intelligence
- ماشىنىلىق ئۆگىنىش Machine learning
- نىرۋا تورى Neural network ياكى چوڭقۇرلاپ ئۆگىنىش Deep learning
بۇ ئۈچىنىڭ مۇناسىۋىتىنى ئۆزىڭىز تۆۋەندىكى رەسىمدىن كۆرۈۋېلىڭ😁
ئەلۋەتتە نىرۋا تورى سۈنئىي ئەقىلنى ئەمەلگە ئاشۇرۇشنىڭ پەقەت بىرلا خىل ئۇسۇلى ئەمەس، ئەمما ئەڭ ئادەمنى جەلىپ قىلىدىغان بىرسى
ئىلگىرى ئۆگىنىش قىلىش پەقەت ئادەملەرگىلا خاس بولغان بولسا بۇ ئارقىلىق ماشىنىلارمۇ ئۆگىنىش ئىقتىدارىغا ئىگە بولالايدۇ،
يەنى ماشىنا (كومپىيۇتېرلار) خۇددى ئادەملەردەك ئۆگىنەلەيدۇ، ئۆگەنگەن بىلىملىرىگە تايىنىپ ھۆكۈم چىقىرالايدۇ،
بۇ يۇمشاق دېتال ياسىغۇچى تەرىپىدىن ئىقتىدارى مۇقىم بىكىتىۋېتىلگەن يۇمشاق دېتاللارغا ئوخشىمايدۇ، بەزى يۇمشاق دېتاللارنى ياساش جەريانىدا چەكسىزلىككە يېقىن ئىھتىماللىقلارنى ئويلىشىشقا توغرا كېلىدۇ، بۇنداق ئەھۋالدا ھەر بىر ئىھتىماللىق ئۈچۈن مۇقىم كود يېزىپ چەكسىز ئىھتىماللىقنى تاماملاشقا مۇمكىن بولمايدۇ، ئەمما سۈنئىي ئەقىل شەكلىدىكى پروگرامما ئەندىنزىسىدە يۇمشاق دېتالنى ياسىغۇچى يۇمشاق دېتالنى ياساپ بولغاندىن كىيىنمۇ يۇمشاق دېتاللار داۋاملىق ئۆگىنەلەيدۇ، ئۆگىنىش ئارقىلىق ئۆزىنىڭ ئىقتىدارىنى داۋاملىق ئۆستۈرەلەيدۇ، بۇنداق يۇمشاق دېتال مەسىلەن بىر ماشىنا ئادەمنىڭ كونتىرول پروگراممىسى بولسىچۇ؟
(كۆز ئالدىڭىزغا فانتازىيەلىك كىنولار كەلدىمۇ؟😁)
ئەڭ قالتىس يېرى نىرۋا تورى سۈنئىي ئەقىلنىڭ بىر خىل كەڭ كۆلەمدە ئىشلىتىۋاتقان شەكلى بولۇش سۈپىتى بىلەن نەزىرىيە جەھەتتىن ئۇ ئادەم ئۆگىنەلەيدىغان ھەر قانداق نەرسىنى ئۆگىنەلەيدۇ، (پەقەت نىرۋا تورىنى لاھىيەلىگۈچى ئۆگىتەلىسىلا) ھەمدە ئوخشاش بىر نىرۋا تورى ئوخشىمىغان نەرسىلەرنى ئۆگىنىش ئارقىلىق ئوخشىمىغان ئىقتىدارلارغا ئىگە بولالايدۇ،
بىز ئاتالغۇلارنىڭ خەلىقئارالىق ئاتالغۇلار بىلەن بىردەك بولىشى ئۈچۈن ھازىردىن باشلاپ نىرۋا تورىنى مەشىقلەندۈرۈشنى مودىلنى مەشىقلەندۈرۈش دەپ ئاتايمىز.
توختاڭ، مودىل؟ نىمە ئۇ.🤡
مودىل، مودىل دىگەن شۇ مودىل دىگەن گەپقۇ، مەسىلەن ھەلىققى يال**اچ كىيىم كىيىپ سەھنىلەردە يۈرۈيدىغانلارچۇ، ياكى ئۈچ ئۆلچەملىك لاھىيەدىكى جىسىملارنىڭ ئۈچ ئۆلچەملىك بولشۇقتىكى تەسۋىرى، بۇنىمۇ مودىل دەپ ئاتايمىز، چاقچاق😁
مودىل دىگىنىمىز ئادەم مېڭىسىنىڭ پروگرامما شەكلىدە ئىپادىلىنىشى، يەنى بىز نىرۋا تورىنى ئۆگىنەلەيدىغان ھالەتكە كەلتۈرۈشتىن بۇرۇن نىرۋا تورىنى بىز ئىشلەتمەكچى بولغان ئىھتىياجقا ئاساسەن (مەسىلەن تەبئىي تىل بىر تەرەپ قىلىش، رەسىمدىن ئوبىيكىت پەرىقلەندۈرۈش، ئاپتوماتىك ھەيدەش، روبوت مىخانىكىسى، ماشىنا ئادەم...) نىرۋا تورىنىڭ قۇرۇلمىسىنى لاھىيەلەيمىز، سۈنئىي ئەقىلنىڭ نەچچە يۈز، ھەتتا مىڭلىغان قوللىنىش ساھەسى بولغاچقا ھەم ئاشۇ ساھە ئۈچۈن ئەڭ ياخشى خىزمەت قىلدۇرۇش ئۈچۈن نىرۋا تورىنى مەلۇم بەلگىلەنگەن ئىھتىياج ئۈچۈن ماسلاشتۇرىمىز، بۇ جەرياننى مودىل لاھىيەلەش، ياكى مودىل قۇرۇش دەپ ئاتايمىز،
بىز لاھىيەلىگەن مودىل نىرۋا تورىمىزنىڭ ئىقتىدارىغا بىۋاستە تەسىر كۆرسىتىدۇ،
مودىل لاھىيەلەش ئۇ پۈتۈن دۇنياۋىي دەرىجىلىك مۇرەككەپ بىر تېما، مودىلنى تۈزۈشنىڭ ھىچقانداق ئەڭ ياخشى ئۇسۇل ياكى يولى يوق، دۇنيادىكى سۈنئىي ئەقىل ئىجادىيەتچىلىرى ۋە Google, OpenAI, Microsoft قاتارلىقلارنىڭ ئىنژىنىرلىرى ھەر كۈنى نەچچە مىڭلىغان مودىللارنى تۈزۈپ تۇرىدۇ، بىر مودىلنى تۈزگەندىن كىيىن مودىلنى مەشىق قىلدۇرۇش جەريانىدا مودىلنىڭ ئىقتىدارىنى باھالايدۇ ۋە داۋاملىق ھالدا نىرۋا تورى مودىلىنى ئەلالاشتۇرۇپ ئۆزگەرتىپ تۇرىدۇ، بۇنى پەقەت بىر يازما بىلەنلا چۈشەندۈرگىلى بولمايدۇ، شۇڭا بىز كىيىنكى قىتىملىق يازمىلىرىمىزدا داۋاملىق چوڭقۇرلاپ بۇ تېما ھەققىدە مۇلاھىزە قىلىمىز.
بۇ يازمىدا بىز نىمە قىلىمىز؟
- ئاددىي بىر نىرۋا تورى مودىلى قۇرىمىز
- نىرۋا تورى مودىلنى مەشىقلەندۈرىمىز
- مەشىقلەندۈرۈپ بولغان نىرۋا تورى مودىلىنى سىنايمىز ھەمدە ئىشلىتىمىز
- مەشىقلىنىپ بولغان نىرۋا تورى مودىلىنى Flutter ئەپ ئىچىگە ئەكىرىپ ئىشلىتىمىز. (ئىختىيارى مەزمۇن)
ئۈزۈندىلەر:
جەريانلار:
پروجىكىتنى چۈشۈرۈڭ
git clone https://dev.subat.cn/Ug-Projekt/hello-ai
Python3 قاچىلاڭ
Linux دا ئادەتتە سۈكۈتتە Python قاچىلاقلىق بولىدۇ، شۇنىڭ ئۆزى يىتەرلىك.
macOs دە brew install python بىلەن قاچىلاڭ
ۋىندوۋستا نەدىن تاپسىڭىز تېپىپ 3.10 نەشىرىدىن يۇقىرىدىكىسىنى چۈشۈرۈپ قاچىلاڭ
pip نىڭ مەنبەسىنى چوڭ قۇرۇقلۇقتىكى mirror تەمىنلىگۈچىلەرنىڭ ئادېرسىغا تەڭشىۋېلىڭ، بولمىسا تايانما بوغچىلارنى چۈشۈرشتە مەسىلىگە يولۇقىسىز، مەسىلەن aliyun, tencent, tsinghua دىگەندەك، مەسىلەن بۇ يەردىن ياردەمگە ئېرىشىڭ.
https://mirror.tuna.tsinghua.edu.cn/help/pypi/
ئاندىن پروجىكىتنىڭ غول مۇندەرىجىسىگە كىرىپ تۆەندىكى بۇيرۇقنى ئىجرا قىلىڭ
python -m venv ./venv
بۇ بۇيرۇق نىمە قىلىدۇ؟
بۇ بۇيرۇق python ئۈچۈن مەۋھۇم مۇھىت تەييارلايدۇ، دىمەكچى بولغىنىم سىز سۈكۈتتە قاچىلانغان python نىڭ بوغچىلىرى سىستېما مۇندەرىجىلىرىگە ياكى ئىشلەتكۈچىلەر مۇندەرىجىسىگە قاچىلىنىدۇ، بۇنداق بولغاندا مەسىلەن سىز بىرلا ۋاقىتتا بىر تال بوغچىنىڭ ئىككى خىل نەشىرىنى تەڭ ئىككى ئايرىم ئايرىم پروگراممىڭىزدا ئىشلەتمەكچى بولسىڭىز مەسىلىگە يولۇقىسىز، شۇڭا ئۆزىڭىزنىڭ مۇھىتىنى بۇزىۋالماسلىق ئۈچۈن بۇ قەدەم تەۋسىيە قىلىنىدۇ، ئەمما زۆرۈر ئەمەس.
مەۋھۇم مۇھىتىڭىزنى ئاكتىپلاڭ،
Linux دا تېرمىنالدا: source ./env/bin/activate
macOs دە تېرمىنالدا: source ./env/bin/activate
Windows تا PowerShell دا : . ./env/bin/Activate.ps1
يۇقارقى جەرياننى تاماملىغاندىن كىيىن تېرمىنالىڭىزدىكى نۆۋەتتىكى مۇندەرىجىنىڭ ئىسمى <env> غا ئۆزگەرگەننى كۆرەلەيسىز.
تايانمىلارنى تۆۋەندىكى بۇيرۇق بىلەن قاچىلاڭ:
pip install -r ./requirements.txt
ئاندىن مەشىقنى باشلاڭ، سىناڭ، Flutter ئەپنى ئىجرا قىلىپ بېقىڭ، ئاخىرى ئەسلى كودنىڭ ئىچىدە ئىزاھاتلىرى بىلەن يېزىقلىق، مەسىلىگە يولۇقسىڭىز ئىنكاس يېزىڭ.
بىز بۇ يازمىدا نېمىشقا تەپسىلىي چۈشەندۈرمىدۇق؟
بۇ بىر تەتۈر بايان شەكىللىك يازما بولغاچقا ئاۋال قارغۇلارچە بولسىمۇ ئۆزىڭىزنىڭ سۈنئىي ئەقىل مودىلىڭىزنى مەشىق قىلدۇرۇپ سىناپ ئويناپ تۇرۇڭ، كىيىنكى قىتىملىق يازمىلىرىمىزدا تېخىىمۇ تەپسىلىي ئىچكىرلەپ كىرىمىز.