Хиймэл оюун ухааны урьдчилсан боловсруулалт гэдэг нь загвар нь үүнээс үнэхээр суралцахын тулд сургалт эсвэл дүгнэлт хийхээс өмнө (заримдаа) түүхий өгөгдөлд хийдэг бүх зүйл юм. Зөвхөн "цэвэрлэгээ" биш. Энэ нь өгөгдлийг цэвэрлэх, хэлбэржүүлэх, масштаблах, кодлох, нэмэгдүүлэх, дараа нь таны загварыг чимээгүйхэн гажуудуулахгүй тогтвортой дүрслэл болгон савлах явдал юм. [1]
Үүний дараа унших дуртай нийтлэлүүд:
🔗 Бодит ертөнцийн гүйцэтгэлд хиймэл оюун ухааны загваруудыг хэрхэн турших вэ
Нарийвчлал, бат бөх байдал, алдааг хурдан үнэлэх практик аргууд.
🔗 Текстээс ярианд хувиргах хиймэл оюун ухаан гэж юу вэ, энэ нь хэрхэн ажилладаг вэ
TTS-ийн үндсэн ойлголтууд, гол хэрэглээ болон өнөөгийн нийтлэг хязгаарлалтуудыг тайлбарладаг.
🔗 Өнөөдөр хиймэл оюун ухаан гарын үсгийг зөв уншиж чадах уу?
Таних сорилтууд, хамгийн сайн хэрэгслүүд болон нарийвчлалын зөвлөмжийг хамардаг.
🔗 Нийтлэг ажлуудад хиймэл оюун ухаан хэр нарийвчлалтай байдаг вэ
Нарийвчлалын хүчин зүйлс, жишиг үзүүлэлтүүд болон бодит ертөнцийн найдвартай байдлыг задлан харуулдаг.
Энгийн хэлээр хиймэл оюун ухааны урьдчилсан боловсруулалт (мөн юу биш вэ) 🤝
Хиймэл оюун ухааны урьдчилсан боловсруулалт гэдэг нь түүхий оролтыг (хүснэгт, текст, зураг, лог) загварт бэлэн функц болгон хувиргах явдал юм. Хэрэв түүхий өгөгдөл нь замбараагүй гараж бол урьдчилсан боловсруулалт гэдэг нь та хайрцгуудыг шошголох, эвдэрсэн хог хаягдлыг шидэх, эд зүйлсийг овоолж гэмтээхгүйгээр алхах боломжтой болгох явдал юм.
Энэ бол загвар өөрөө биш. Энэ бол загварыг боломжтой болгодог зүйлс юм:
-
ангиллыг тоо болгон хувиргах (нэг-халуун, дэс дараалал гэх мэт) [1]
-
Том тоон хүрээг эрүүл саруул хүрээ болгон өргөжүүлэх (стандартчилал, хамгийн бага-хамгийн их гэх мэт) [1]
-
Текстийг оролтын ID болгон токенжуулах (мөн ихэвчлэн анхаарлын маск) [3]
-
зургийн хэмжээг өөрчлөх/тайрах болон детерминистик болон санамсаргүй хувиргалтыг зохих ёсоор хэрэгжүүлэх [4]
-
давтагдах боломжтой дамжуулах хоолойг бий болгох нь сургалт болон "бодит амьдрал"-ын оролтууд нарийн ялгаагүй байх боломжийг олгоно [2]
Нэгэн бяцхан практик тэмдэглэл: "урьдчилан боловсруулалт" нь загвар оролтыг харахаас өмнө тогтмол тохиолддог бүх зүйлийг . Зарим багууд үүнийг "онцлог инженерчлэл" ба "өгөгдөл цэвэрлэх" гэж хуваадаг боловч бодит амьдрал дээр эдгээр шугамууд бүдгэрдэг.

Хиймэл оюун ухааны урьдчилсан боловсруулалт яагаад хүмүүсийн хүлээн зөвшөөрснөөс илүү чухал вэ 😬
Загвар бол оюун ухаан уншигч биш, харин хэв маягийг тохируулагч юм. Хэрэв таны оруулсан мэдээлэл тууштай бус байвал загвар нь тууштай бус дүрмийг сурдаг. Энэ бол философи биш, харин үгчилсэн утгатай юм.
Урьдчилан боловсруулалт танд дараах зүйлсийг хийхэд тусална:
-
Үнэлгээчид найдвартай ашиглаж болох дүрслэлд шинж чанаруудыг оруулснаар сургалтын тогтвортой байдлыг сайжруулна
-
чимээ шуугианыг бууруул (хачин эд өлгийн зүйлсийг цээжлэхийн оронд).
-
Алдагдал болон сургалт/үйлчилгээний зөрүү (баталгаажуулахад "гайхалтай" харагддаг, дараа нь үйлдвэрлэлд нүүрэн талын өөрчлөлт хийдэг) зэрэг чимээгүй алдааны горимуудаас урьдчилан сэргийлэх
-
Давтагдах боломжтой хувиргалтууд нь долоо хоногийн өдөр бүр тэмдэглэлийн дэвтрийн спагеттиг давтдаг тул давталтыг хурдасга
Түүнчлэн, "загварын гүйцэтгэл"-ийн ихэнх нь үнэндээ эндээс гардаг. Жишээ нь... гайхалтай нь маш их. Заримдаа шударга бус санагддаг ч энэ бол бодит байдал 🙃
Сайн хиймэл оюун ухааны урьдчилсан боловсруулалтын хоолойг юу бүрдүүлдэг вэ ✅
Урьдчилан боловсруулалтын "сайн хувилбар" нь ихэвчлэн дараах шинж чанартай байдаг:
-
Хуулбарлах боломжтой : ижил оролт → ижил гаралт (санаатайгаар нэмэгдүүлээгүй л бол нууцлаг санамсаргүй байдал байхгүй).
-
Сургалтын үйлчлэлийн тогтвортой байдал : сургалтын цагт таны хийсэн бүх зүйл дүгнэлтийн цагт адилхан хэрэгждэг (ижил тохируулсан параметрүүд, ижил ангиллын зураглал, ижил токенизаторын тохиргоо гэх мэт). [2]
-
Алдагдалгүй : үнэлгээ/туршилтын явцад ямар ч
тохирохалхамд нөлөөлөхгүй. (Энэ хавхны талаар дэлгэрэнгүй мэдээлэл удахгүй гарах болно.) [2] -
Ажиглагдаж болно : та юу өөрчлөгдсөнийг (онцлогийн статистик, дутуу байдал, ангиллын тоо) шалгаж болох тул дибаг хийх нь чичиргээнд суурилсан инженерчлэл биш юм.
final_v7_really_final_ok гэж нэрлэгддэг тэмдэглэлийн дэвтрийн нүднүүдийн овоолго бол ... та үүнийг хэрхэн гэдгийг мэднэ. Энэ нь ажиллахгүй болтол нь ажилладаг 😬
Хиймэл оюун ухааны урьдчилсан боловсруулалтын гол бүтцийн хэсгүүд 🧱
Урьдчилан боловсруулалтыг дамжуулах хоолойд нэгтгэсэн барилгын блокуудын багц гэж бодоорой.
1) Цэвэрлэгээ ба баталгаажуулалт 🧼
Ердийн даалгаварууд:
-
давхардсан зүйлсийг устгах
-
алга болсон утгуудыг зохицуулах (хасах, тооцох эсвэл дутууг тодорхой илэрхийлэх)
-
төрөл, нэгж, хүрээг хэрэгжүүлэх
-
алдаатай оролтыг илрүүлэх
-
текстийн форматыг стандартчилах (хоосон зай, бүрхүүлийн дүрэм, Unicode-ын онцлог шинж чанарууд)
Энэ хэсэг нь тийм ч гоё биш ч гэсэн маш тэнэг алдаа гаргахаас сэргийлж байна. Би үүнийг хайраар хэлж байна.
2) Ангилал өгөгдлийг кодлох 🔤
"red" эсвэл "premium_user" гэх мэт түүхий тэмдэгт мөрүүдийг шууд ашиглаж чаддаггүй .
Нийтлэг аргууд:
-
Нэг удаагийн кодчилол (ангилал → хоёртын багана) [1]
-
Дарааллын кодчилол (ангилал → бүхэл тоон ID) [1]
Гол нь аль кодлогчийг сонгох нь биш, харин зураглал нь тогтвортой хэвээр байх бөгөөд сургалт болон дүгнэлтийн хооронд "хэлбэрээ өөрчлөхгүй" байх явдал юм. Ингэснээр та офлайн үед сайхан харагдаж, онлайн орчинд сүнстэй байдаг загвартай болно. [2]
3) Онцлогийн масштабжуулалт болон хэвийн болгох 📏
Онцлог шинж чанарууд нь огт өөр хязгаарт ажиллаж байх үед масштаблах нь чухал юм.
Хоёр сонгодог бүтээл:
-
Стандартчилал : дундаж утгыг хасаж, нэгжийн дисперсийг масштабаар хэмжинэ [1]
-
Мин-макс масштаб : функц бүрийг тодорхой хязгаарт масштаблах [1]
"Ихэнхдээ дасан зохицдог" загваруудыг ашиглаж байсан ч масштаб нь дамжуулах хоолойн талаар бодоход хялбар болгож, санамсаргүйгээр эвдэрэхэд хэцүү болгодог.
4) Онцлог инженерчлэл (өөрөөр хэлбэл ашигтай хууралт) 🧪
Илүү сайн дохио үүсгэх замаар загварын ажлыг хөнгөвчлөх газар энд байна:
-
харьцаа (товшилт / сэтгэгдэл)
-
эргэлддэг цонхнууд (сүүлийн N өдөр)
-
тоо (хэрэглэгч тус бүрийн үйл явдлууд)
-
хүнд сүүлт тархалтын лог хувиргалтууд
Энд урлаг бий. Заримдаа та ямар нэгэн нийтлэл бүтээгээд бахархах болно... гэхдээ энэ нь юу ч нэмэргүй. Эсвэл бүр дордуулж хэлэхэд өвддөг. Энэ бол хэвийн зүйл. Онцлох бүтээлүүдэд сэтгэл хөдлөлөөрөө бүү авт - тэд чамайг буцааж хайрлахгүй 😅
5) Өгөгдлийг зөв аргаар хуваах ✂️
Энэ нь тийм биш болтол тодорхой сонсогдож байна:
-
iid өгөгдлийн санамсаргүй хуваалтууд
-
цагийн цувааны цаг хугацаанд суурилсан хуваалтууд
-
аж ахуйн нэгжүүд давтагдах үед бүлэглэгдсэн хуваагдал (хэрэглэгчид, төхөөрөмжүүд, өвчтөнүүд)
Хамгийн чухал нь: өгөгдлөөс суралцдаг урьдчилсан боловсруулалтыг тохируулахаасаа өмнө хуваах . Хэрэв таны урьдчилсан боловсруулалтын алхам нь параметрүүдийг (жишээлбэл, утга, үгсийн сан, ангиллын зураглал) "суралцдаг" бол тэдгээрийг зөвхөн сургалтаас сурах ёстой. [2]
Өгөгдлийн төрлөөр хиймэл оюун ухааны урьдчилсан боловсруулалт: хүснэгт, текст, зураг 🎛️
Урьдчилан боловсруулалт нь таны загварт юу өгч байгаагаас хамааран хэлбэрийг өөрчилдөг.
Хүснэгтийн өгөгдөл (хүснэгт, бүртгэл, мэдээллийн сан) 📊
Нийтлэг алхамууд:
-
Алдагдсан үнэ цэнийн стратеги
-
ангиллын кодчилол [1]
-
тоон багануудыг масштаблах [1]
-
гадуурх зохицуулалт (домэйны дүрмүүд ихэнх тохиолдолд "санамсаргүй хайчилбар"-аас илүү байдаг)
-
үүсмэл шинж чанарууд (агрегатууд, хоцрогдол, өсөлтийн статистик)
Практик зөвлөгөө: баганын бүлгүүдийг тодорхой тодорхойл (тоон ба ангиллын ба танигч). Ирээдүйн та танд талархах болно.
Текст өгөгдөл (NLP) 📝
Текстийг урьдчилан боловсруулах нь ихэвчлэн дараахь зүйлийг агуулдаг
-
токенжуулалтыг токен/дэд үг болгон хувиргах
-
оролтын ID руу хөрвүүлэх
-
зөөлөвч/таслалт
-
Багцлах зориулалттай анхаарлын маск бүтээх
Өвдөлтөөс ангижрах жижиг дүрэм: трансформатор дээр суурилсан тохиргооны хувьд загварын хүлээгдэж буй токенизаторын тохиргоог дагаж мөрдөж, шалтгаангүй бол чөлөөт хэв маягаар бүү хий. Чөлөөт хэв маяг гэдэг нь та "энэ нь сургадаг ч хачин юм" гэсэн дүгнэлтэд хүргэдэг
Зураг (компьютерийн хараа) 🖼️
Ердийн урьдчилсан боловсруулалт:
-
хэмжээг өөрчлөх / жигд хэлбэртэй болгох
-
үнэлгээний детерминистик хувиргалтууд
-
Сургалтын нэмэгдэлд зориулсан санамсаргүй хувиргалтууд (жишээ нь, санамсаргүй тайралт) [4]
Хүмүүсийн анзаардаггүй нэг нарийн ширийн зүйл: “санамсаргүй хувиргалтууд” нь зүгээр нэг мэдрэмж биш бөгөөд тэд дуудагдах бүртээ параметрүүдийг шууд утгаараа түүвэрлэдэг. Олон янз байдлыг сургахад маш сайн, санамсаргүй байдлыг унтраахаа мартсан бол үнэлгээ хийхэд аймшигтай. [4]
Хүн бүрийн унадаг урхи: Өгөгдөл алдагдах 🕳️🐍
Алдагдал гэдэг нь үнэлгээний өгөгдлөөс мэдээлэл сургалтад нууцаар орж ирэхийг хэлнэ - ихэвчлэн урьдчилсан боловсруулалтаар дамжин. Энэ нь таны загварыг баталгаажуулалтын явцад ид шидийн мэт харагдуулж, дараа нь бодит ертөнцөд таныг урам хугална.
Нийтлэг гоожих хэлбэрүүд:
-
Бүрэн өгөгдлийн багцын статистикийг ашиглан масштаблах (зөвхөн сургалтын оронд) [2]
-
хамтдаа галт тэрэг+туршилт ашиглан барилгын ангиллын газрын зургууд [2]
-
туршилтын багцыг "хардаг" аливаа
fit()эсвэлfit_transform()
Энгийн дүрэм (энгийн, харгис, үр дүнтэй):
-
Тохирох аливаа зүйл зөвхөн бэлтгэл дээр л тохирох ёстой.
-
Дараа нь та уг суурилуулсан трансформаторыг ашиглан баталгаажуулалт/туршилтыг хувиргана
Хэрэв та "хэр муу байж болох вэ?" гэж асуумаар байвал scikit-learn-ийн өөрийн баримт бичигт алдааны жишээг харуулсан бөгөөд урьдчилан боловсруулалтын буруу дараалал нь санамсаргүй байнуудад 0.76 0.5 . Энэ бол итгэл үнэмшилтэй буруу алдагдлыг ингэж харж болно. [2]
Эмх замбараагүй байдалгүйгээр урьдчилсан боловсруулалтад үйлдвэрлэлд оруулах 🏗️
Олон загварууд үйлдвэрлэлд бүтэлгүйтдэг нь загвар нь "муу" учраас биш, харин оролтын бодит байдал өөрчлөгдсөн эсвэл таны дамжуулах хоолой өөрчлөгдсөнөөс болдог.
Үйлдвэрлэлийн зориулалттай урьдчилсан боловсруулалт нь ихэвчлэн дараахь зүйлийг агуулдаг
-
Хадгалсан эд өлгийн зүйлс (кодлогч зураглал, масштаблагчийн параметрүүд, токенизаторын тохиргоо) тул дүгнэлт нь яг адилхан сурсан хувиргалтыг ашигладаг [2]
-
Хатуу оролтын гэрээ (хүлээгдэж буй багана/төрөл/хүрээ)
-
гажуудах тул хазайлт болон шилжилтийг хянах [5]
Хэрэв та тодорхой тодорхойлолт авахыг хүсвэл: Google-ийн Vertex AI Model Monitoring нь сургалтад үйлчлэх гажуудал (үйлдвэрлэлийн хуваарилалт нь сургалтаас хазайх) болон дүгнэлтийн хазайлтыг (үйлдвэрлэлийн хуваарилалт цаг хугацааны явцад өөрчлөгддөг) ялгаж, ангиллын болон тоон шинж чанаруудын аль алиных нь хяналтыг дэмждэг. [5]
Учир нь гэнэтийн бэлэг үнэтэй байдаг. Хөгжилтэй төрөл нь тийм ч үнэтэй биш.
Харьцуулсан хүснэгт: нийтлэг урьдчилсан боловсруулалт + хяналтын хэрэгслүүд (мөн тэдгээр нь хэнд зориулагдсан бэ) 🧰
| Хэрэгсэл / номын сан | Хамгийн сайн нь | Үнэ | Энэ яагаад ажилладаг вэ (бас бага зэрэг үнэнч байдал) |
|---|---|---|---|
| scikit-learn урьдчилсан боловсруулалт | Хүснэгтийн ML дамжуулах хоолойнууд | Үнэгүй | Хатуу кодлогч + масштаблагч (OneHotEncoder, StandardScaler гэх мэт) болон урьдчилан таамаглах боломжтой зан төлөв [1] |
| Тэврэх нүүрний токенизаторууд | NLP оролтын бэлтгэл | Үнэгүй | Оролтын ID + анхаарлын маскуудыг гүйлт/загваруудад тууштай үүсгэдэг [3] |
| Torchvision-н хувиргалтууд | Харааны өөрчлөлт + томруулалт | Үнэгүй | Нэг дамжуулах хоолойд детерминистик болон санамсаргүй хувиргалтыг холих цэвэр арга [4] |
| Vertex хиймэл оюун ухааны загварын хяналт | Бүтээгдэхүүн дэх хазайлт/гажуудлыг илрүүлэх | Төлбөртэй (үүл) | Хяналтууд нь хазайлт/хөрөлт болон босго хэмжээнээс хэтэрсэн үед анхааруулга өгдөг онцлогтой [5] |
(Тийм ээ, хүснэгтэд санал бодол байсаар л байна. Гэхдээ ядаж л шударга санал бодол байна 😅)
Таны ашиглаж болох практик урьдчилсан боловсруулалтын шалгах хуудас 📌
Сургалтын өмнө
-
Оролтын схемийг тодорхойлох (төрөл, нэгж, зөвшөөрөгдсөн хүрээ)
-
Алга болсон утгууд болон давхардсан утгуудыг аудит хийх
-
Өгөгдлийг зөв хуваах (санамсаргүй / цаг хугацаанд суурилсан / бүлэглэсэн)
-
Зөвхөн сургалтын үед л тохирох урьдчилсан боловсруулалт (
fit/fit_transform ньсургалтын явцад хэвээр байна) [2] -
Урьдчилан боловсруулсан эд өлгийн зүйлсийг хадгалахын тулд дүгнэлтийг дахин ашиглах боломжтой [2]
Сургалтын үеэр
-
Зөвхөн тохиромжтой үед санамсаргүй нэмэгдлийг хэрэглэнэ (ихэвчлэн зөвхөн сургалтын хуваалтаар) [4]
-
Үнэлгээний урьдчилсан боловсруулалтыг тодорхойлсон хэвээр байлга [4]
-
Загварын өөрчлөлт гэх мэт урьдчилсан боловсруулалтын өөрчлөлтийг хянах (учир нь тэдгээр нь тийм)
Байршуулалтын өмнө
-
Дүгнэлт нь ижил урьдчилсан боловсруулалтын зам болон эд өлгийн зүйлсийг ашигладаг эсэхийг шалгаарай [2]
-
Дрифт/налуу хяналтыг тохируулах (үндсэн функцын тархалтын шалгалт хүртэл маш их үр дүнтэй) [5]
Гүнзгий шумбалт: урьдчилсан боловсруулалтын нийтлэг алдаанууд (мөн тэдгээрээс хэрхэн зайлсхийх вэ) 🧯
Алдаа 1: “Би бүх зүйлийг хурдан хэвийн болгочихно” 😵
Хэрэв та бүх өгөгдлийн багц дээр масштабын параметрүүдийг тооцоолвол үнэлгээний мэдээлэл алдагдаж байна. Дасгал хийхдээ тохируулаад үлдсэнийг нь хувирга. [2]
Алдаа 2: Ангилалууд эмх замбараагүй байдалд шилжиж байна 🧩
Хэрэв таны ангиллын зураглал сургалт болон дүгнэлтийн хооронд шилжвэл таны загвар дэлхий ертөнцийг чимээгүйхэн буруу уншиж чадна. Хадгалсан эд өлгийн зүйлсээр дамжуулан зураглалыг тогтмол байлга. [2]
Алдаа 3: үнэлгээнд санамсаргүй нэмэгдэл сэм орж байна 🎲
Санамсаргүй хувиргалтууд нь сургалтанд гайхалтай боловч гүйцэтгэлийг хэмжих гэж оролдох үед "нууцаар" байх ёсгүй. (Санамсаргүй гэдэг нь санамсаргүй гэсэн үг.) [4]
Эцсийн тайлбар 🧠✨
Хиймэл оюун ухааны урьдчилсан боловсруулалт нь эмх замбараагүй бодит байдлыг тууштай загварын оролт болгон хувиргах сахилга баттай урлаг юм. Энэ нь цэвэрлэх, кодлох, масштаблах, токенжуулах, дүрс хувиргах, хамгийн чухал нь давтагдах боломжтой дамжуулах хоолой болон эд өлгийн зүйлсийг хамардаг.
-
Санамсаргүй биш, харин санаатайгаар урьдчилсан боловсруулалт хий. [2]
-
Эхлээд хувааж, зөвхөн бэлтгэл дээр тохируулж, гоожихоос зайлсхий. [2]
-
Модалд тохирсон урьдчилсан боловсруулалт (текстэд зориулсан токенизатор, зургийн хувиргалт) ашиглах. [3][4]
-
Загвар чинь аажмаар утгагүй зүйл рүү шилжихгүйн тулд үйлдвэрлэлийн гажуудал/шилжилтийг хянаж байгаарай. [5]
Хэрэв та гацсан бол өөрөөсөө
“Хэрэв би маргааш шинэ өгөгдөл дээр ажиллуулбал энэ урьдчилсан боловсруулалтын алхам утга учиртай хэвээр байх уу?”
Хэрэв хариулт нь “ааан... магадгүй?” бол энэ бол таны сэжүүр 😬
Лавлагаа
[1] scikit-learn API:
sklearn.preprocessing (кодлогч, масштаблагч, хэвийн болгох) [2] scikit-learn: Нийтлэг алдаа - Өгөгдөл алдагдах болон түүнээс хэрхэн зайлсхийх вэ
[3] Тэврэх нүүрний хувиргагч баримт бичиг: Токенизатор (оролтын ID, анхаарлын маск)
[4] PyTorch Torchvision баримт бичиг: Хувиргалт (Хэмжээг өөрчлөх/Хэвийн болгох + санамсаргүй хувиргалт)
[5] Google Cloud Vertex AI баримт бичиг: Загварын хяналтын тойм (онцлогийн гажуудал ба шилжилт)