Үндсэн агуулга руу алгасах
OpenAI

2022 оны зургаадугаар сарын 28

Нийтлэл

DALL·E 2 урьдчилсан сургалтын сөрөг нөлөө бууруулалт

Малгай өмсөж, туг барьсан, арагшаа харсан олон хүний дээрээс авсан зураг

DALL·E

Ачаалж байна…

DALL·E 2-ын ид шидийг өргөн хүрээний хэрэглэгчдэд хүргэхийн тулд бид хүчирхэг зураг үүсгэх загваруудтай холбоотой эрсдэлийг бууруулах шаардлагатай байсан. Үүний тулд үүсгэсэн зургууд манай агуулгын бодлого(шинэ цонхонд нээгдэнэ)-ыг зөрчихөөс сэргийлэх янз бүрийн хамгаалалтын арга хэмжээ(шинэ цонхонд нээгдэнэ)-г хэрэгжүүлсэн.

Энэ нийтлэл нь DALL·E 2-ын суралцах өгөгдлийг шууд өөрчилдөг эдгээр хамгаалалтын арга хэмжээний нэг хэсэг болох урьдчилсан сургалтын сөрөг нөлөө бууруулах аргууд-д төвлөрнө. Тодруулбал, DALL·E 2 нь интернетээс авсан тайлбартай хэдэн зуун сая зураг дээр сурдаг бөгөөд бид загварын суралцах зүйлсийг өөрчлөхийн тулд эдгээр зургийн заримыг хасаж, заримынх нь жинг өөрчилдөг.

Энэ нийтлэл нь гурван хэсэгтэй бөгөөд тус бүр нь өөр өөр урьдчилсан сургалтын бууруулах аргыг тайлбарлана:

  • Эхний хэсэгт бид DALL·E 2-ын сургалтын өгөгдлийн сангаас хүчирхийлэл болон бэлгийн агуулгатай зургуудыг хэрхэн шүүж хассанаа тайлбарлана. Энэ бууруулах аргагүй бол загвар ийм төрлийн хүсэлт ирэхэд график эсвэл ил тод зураг бүтээж сурах байсан бөгөөд гэмгүй мэт харагдах өгөгдөлд ч санаандгүйгээр тийм зураг буцааж магадгүй байв.
  • Хоёр дахь хэсэгт сургалтын өгөгдлийг шүүх нь хэвийлтийг нэмэгдүүлж болохыг бид харуулж, энэ нөлөөг бууруулах аргаа тайлбарлана. Жишээлбэл, энэ аргагүй үед шүүсэн өгөгдөл дээр сургасан загварууд анхны өгөгдлийн сан дээр сургасан загваруудтай харьцуулахад эрчүүдийг дүрсэлсэн зураг илүү олон, эмэгтэйчүүдийг дүрсэлсэн зураг цөөн үүсгэж байгааг бид анзаарсан.
  • Сүүлийн хэсэгт бид цээжлэлийн асуудал руу хандаж, DALL·E 2 шиг загварууд шинэ зураг бүтээхийн оронд заримдаа сургасан зургаа дахин гаргаж чаддагийг олж тогтооно. Практикт энэ зураг шууд давтан гаргалт нь өгөгдлийн санд олон дахин хуулбарлагдсан зургуудын улмаас үүсдэг болохыг бид олж, бусад зурагтай харааны хувьд төстэй зургуудыг хасах замаар асуудлыг бууруулсан.

График ба ил тод сургалтын өгөгдлийг бууруулах

Сургалтын өгөгдөл нь аливаа сурсан загварын чадамжийг тодорхойлдог тул өгөгдөл шүүх нь хүсээгүй загварын чадамжийг хязгаарлах хүчтэй хэрэгсэл юм. Бид энэ аргыг график хүчирхийлэл болон бэлгийн агуулгыг дүрсэлсэн зургууд гэсэн хоёр ангилалд хэрэглэж, эдгээр ангиллын зургуудыг DALL·E 2-ыг сургахаас өмнө өгөгдлийн сангаас шүүж хасахын тулд ангилагч ашигласан. Бид эдгээр зураг ангилагчийг дотооддоо сургасан бөгөөд өгөгдлийн сан шүүх нь манай сургасан загварт хэрхэн нөлөөлж байгааг үргэлжлүүлэн судалж байна.

Зураг ангилагчдаа сургахын тулд бид өмнө нь GLIDE(шинэ цонхонд нээгдэнэ)-ийн сургалтын өгөгдлийг шүүхдээ ашиглаж байсан аргаа дахин хэрэглэсэн. Энэ аргын үндсэн алхмууд нь дараах байдалтай: эхлээд бид шошголж тэмдэглэхийг хүсэж буй зургийн ангиллуудын тодорхойлолтыг гаргана; дараа нь ангилал бүрт хэдэн зуун эерэг ба сөрөг жишээ цуглуулна; гуравдугаарт, идэвхтэй сургалтын процедурыг ашиглан илүү их өгөгдөл цуглуулж, precision/recall-ийн тэнцлийг сайжруулна; эцэст нь recall-ыг precision-ээс илүүд үзсэн консерватив ангиллын босготойгоор үүссэн ангилагчийг бүх өгөгдлийн сан дээр ажиллуулна. Эдгээр босгыг тогтоохдоо бид бүх сайн өгөгдлийг үлдээхээс илүү бүх муу өгөгдлийг шүүж хасахыг тэргүүнд тавьсан. Учир нь дараа нь бид загвараа илүү их өгөгдлөөр үргэлж нарийн тааруулж шинэ зүйл сургаж чадна, харин загвар нэгэнт сурсан зүйлийг мартагнуулах нь хамаагүй хэцүү.

Ачаалж байна...

Идэвхтэй сургалтын үе шатанд бид хүний шошгололтыг ашиглан хүндрэлтэй эсвэл буруу ангилагдсан байж болзошгүй зургуудыг цуглуулж, ангилагчуудаа давтан сайжруулсан. Тодруулбал, хүний шошгололтод өгөх зургуудыг өгөгдлийн сангаасаа (шошгогүй хэдэн зуун сая зураг агуулдаг) сонгохын тулд бид идэвхтэй сургалтын хоёр аргыг ашигласан. Нэгдүгээрт, ангилагчийн хуурамч эерэгийн түвшнийг (өөрөөр хэлбэл хоргүй зургийг хүчирхийлэлтэй эсвэл бэлгийн агуулгатай гэж андуурч ангилах давтамж) бууруулахын тулд одоогийн загвар эерэг гэж ангилсан зургуудад хүний шошго оноосон. Энэ алхмыг сайн ажиллуулахын тулд бид ангиллын босгыг бараг 100% recall-тай, гэхдээ хуурамч эерэг өндөр байхаар тааруулсан; ингэснээр манай тэмдэглэгээ хийгчид ихэвчлэн үнэхээр сөрөг тохиолдлуудыг шошголж байсан. Энэ арга нь хуурамч эерэгийг бууруулж, тэмдэглэгээ хийгчдэд хортой байж болзошгүй зургуудыг харах шаардлагыг багасгадаг ч загварын одоогоор алдаж буй илүү олон эерэг тохиолдлыг олоход тус болдоггүй.

Ангилагчийн хуурамч сөрөгийн түвшнийг бууруулахын тулд бид идэвхтэй сургалтын хоёр дахь арга болох хамгийн ойрын хөршийн хайлтыг ашигласан. Ялангуяа, бид одоогийн шошголжуулсан өгөгдлийн сандаа загвар сөрөг гэж андууран ангилах хандлагатай эерэг жишээнүүдийг олохын тулд олон удаагийн cross-validation ажиллуулсан (үүнийг хийхийн тулд бид сургалт-баталгаажуулалтын өөр хуваалттай ангилагчийн хэдэн зуун хувилбарыг шууд сургаж байсан). Дараа нь бид шошгогүй зургуудын том цуглуулгаасаа эдгээр жишээний перцепцийн шинжийн орон зай дахь хамгийн ойрын хөршүүдийг хайж, олдсон зургуудад хүний шошго оноосон. Манай тооцооллын дэд бүтцийн ачаар ангилагчийн сургалт болон хамгийн ойрын хөршийн хайлтыг олон GPU дээр томруулах нь амархан байсан тул идэвхтэй сургалтын алхам хэдэн цаг, эсвэл өдөр биш хэдхэн минутын дотор явагдсан.

Өгөгдлийн шүүлтүүрүүдийнхээ үр нөлөөг шалгахын тулд бид ижил гиперпараметртэй хоёр GLIDE загвар сургажээ: нэгийг нь шүүлтүүргүй өгөгдөл дээр, нөгөөг нь шүүсэн өгөгдлийн сан дээр. Эхний загварыг бид шүүлтүүргүй загвар, сүүлийнхийг нь шүүсэн загвар гэж нэрлэсэн. Хүлээж байснаар шүүсэн загвар ийм төрлийн агуулгын хүсэлтэд ерөнхийдөө бага ил тод, эсвэл бага график агуулга үүсгэж байгааг олсон. Гэвч бид өгөгдөл шүүхийн нэг санаандгүй дагаврыг мөн илрүүлсэн: энэ нь тодорхой хүн ам зүйн бүлгүүд рүү чиглэсэн загварын хэвийлтийг бий болгож эсвэл улам нэмэгдүүлсэн.

Ачаалж байна...

Өгөгдлийн шүүлтүүрээс үүссэн хэвийлтийг засах

Үүсмэл загвар нь сургалтын өгөгдлийнхөө тархалтыг, түүнд агуулагдах аливаа хэвийлтийг оролцуулан, тааруулахыг оролддог. Үүний үр дүнд сургалтын өгөгдлийг шүүх нь дараагийн загваруудад хэвийлт үүсгэх эсвэл нэмэгдүүлэх боломжтой. Ерөнхийдөө анхны өгөгдлийн сан дахь хэвийлтийг засах нь нийгэм-техникийн хүнд даалгавар бөгөөд бид үүнийг үргэлжлүүлэн судалж байгаа, мөн энэ нийтлэлийн хүрээнээс давсан асуудал юм. Энд бидний шийдэхийг зорьж буй асуудал бол тусгайлан өгөгдөл шүүхээс өөрөөс нь үүдэн бий болдог хэвийлтийн нэмэгдэл юм. Манай аргын зорилго нь шүүсэн загварыг шүүлтүүргүй загвараас илүү хэвийлттэй болгохоос сэргийлж, үндсэндээ өгөгдөл шүүхээс үүдэх тархалтын шилжилтийг бууруулах явдал юм.

Шүүлтүүрээс болж хэвийлт хэрхэн нэмэгдэж болохын тодорхой жишээ болгон “a ceo” гэсэн өгөгдлийг авч үзье. Манай шүүлтүүргүй загвар энэ өгөгдөлд зураг үүсгэхдээ эмэгтэйчүүдээс илүү эрчүүдийн зургийг гаргах хандлагатай байсан бөгөөд энэ хэвийлтийн ихэнх нь одоогийн сургалтын өгөгдлийн тусгал гэж бид үзэж байна. Гэвч ижил өгөгдлийг шүүсэн загвараар ажиллуулахад хэвийлт улам нэмэгдсэн мэт харагдсан; үүсгэсэн зургууд нь бараг зөвхөн эрчүүдийн зураг байв.

Энэ тодорхой тохиолдолд хэвийлт нэмэгдэх шалтгаан хоёр газраас үүсэж байна гэж бид таамагласан: нэгдүгээрт, анхны өгөгдлийн санд эмэгтэйчүүд, эрэгтэйчүүд ойролцоогоор тэнцүү төлөөлөлтэй байсан ч өгөгдлийн сан эмэгтэйчүүдийг илүү бэлгийн өнгө аястай нөхцөл байдалд харуулах хандлагатай байж болно; хоёрдугаарт, өгөгдөл цуглуулах, баталгаажуулах үе шатанд ийм биш байлгахыг хичээсэн ч ангилагчид маань хэрэгжүүлэлт эсвэл ангиллын тодорхойлолтын улмаас өөрсдөө хэвийлттэй байж болно. Эдгээр хоёр нөлөөний улмаас манай шүүлтүүр эмэгтэйчүүдийн зургийг эрчүүдийнхээс илүү хасаж, улмаар сургалтын үед загварын харж буй хүйсийн харьцааг өөрчилж болзошгүй.

Шүүлтүүрээс үүдэлтэй хэвийлтийг илүү нарийвчлан судлахын тулд өгөгдлийн шүүлтүүрүүд маань янз бүрийн ойлголт руу чиглэсэн хэвийлтэд хэр зэрэг нөлөөлж байгааг хэмжих арга бидэнд хэрэгтэй байсан. Тодруулбал, манай хүчирхийлэл болон бэлгийн агуулгын шүүлтүүрүүд цэвэр зурагт суурилсан хэдий ч өгөгдлийн сангийн олон модаль шинж чанар нь эдгээр шүүлтүүрүүд бичвэрт хэрхэн нөлөөлж байгааг шууд хэмжих боломж олгосон. Зураг бүр бичвэр тайлбартай дагалддаг тул бид шүүсэн болон шүүлтүүргүй өгөгдлийн сангуудын хооронд гараар сонгосон түлхүүр үгсийн харьцангуй давтамжийг харж, шүүлтүүрүүд тухайн ойлголтод хэр нөлөөлж байгааг тооцоолж чадсан.

Үүнийг хэрэгжүүлэхийн тулд бид Apache Spark ашиглан хоёр өгөгдлийн сангийн бүх тайлбар дээр цөөн хэдэн түлхүүр үгийн (жишээ нь, “parent”, “woman”, “kid”) давтамжийг тооцсон. Манай өгөгдлийн сан хэдэн зуун сая бичвэр-зураг хос агуулдаг байсан ч эдгээр түлхүүр үгийн давтамжийг тооцоолоход манай тооцооллын кластер ашиглан ердөө хэдхэн минут зарцуулсан.

Түлхүүр үгийн давтамжийг тооцсоны дараа өгөгдлийн сангийн шүүлтүүрүүд тодорхой түлхүүр үгсийн давтамжийг бусдаас илүү гажуудуулсныг бид баталж чадсан. Жишээлбэл, шүүлтүүрүүд “woman” гэдэг үгийн давтамжийг 14%-иар бууруулсан бол “man” гэдэг үгийн давтамж ердөө 6%-иар буурсан. Энэ нь хоёр өгөгдлийн сан дээр сургасан GLIDE загваруудаас жишээ авч харахад бидний өмнө нь анекдот байдлаар ажигласан зүйлийг өргөн хэмжээнд баталсан.

Ачаалж байна...

Одоо шүүлтүүрээс үүдэлтэй хэвийлтийг хэмжих орлуулгын арга бидэнд байсан тул үүнийг бууруулах арга хэрэгтэй байв. Энэ асуудлыг шийдэхийн тулд бид шүүсэн өгөгдлийн сангийн жинг дахин тохируулж, түүний тархалтыг шүүлтүүргүй зургуудын тархалттай илүү ойртуулахыг зорьсон. Энэ санааг тайлбарлах тоглоомын жишээ авбал, манай өгөгдлийн сан 50% муурын зураг, 50% нохойн зурагтай гэж бодъё, харин өгөгдлийн шүүлтүүр маань нохдын 75%-ийг, муурын зөвхөн 50%-ийг хасдаг байг. Эцсийн өгөгдлийн сан ⅔ муур, ⅓ нохой болно, ийм өгөгдөл дээр сургасан магадлалд суурилсан үүсмэл загвар нохойноос илүү муурын зураг үүсгэх магадлалтай. Энэ тэнцвэргүй байдлыг засахын тулд нохойн зураг бүрийн сургалтын алдагдлыг 2-оор үржүүлж, нохойн зураг бүрийг хоёр удаа давтсан мэт нөлөө үзүүлж болно. Энэ аргыг бодит өгөгдлийн сан, бодит загварууд дээр ихэнхдээ автоматаар томруулж болдгийг бид олсон—өөрөөр хэлбэл, ямар шинжүүдийг дахин жинлэхээ гараар сонгох шаардлагагүй.

Бид шүүсэн өгөгдлийн сан дахь зургуудын жинг Choi et al. (2019)(шинэ цонхонд нээгдэнэ)-ийн хэрэглэсэн аргатай төстэй, тусгай ангилагчийн магадлалуудыг ашиглан тооцдог. Энэ ангилагчийг сургахын тулд бид хоёр өгөгдлийн сангаас жигд байдлаар зураг жишээлж авч, зураг аль өгөгдлийн сангаас ирснийг таамаглуулдаг. Тодруулбал, энэ загвар урьдчилсан P(unfiltered) = 0.5 нөхцөлд P(unfiltered|image)-ийг таамагладаг. Практикт бид энэ загвар хэт хүчирхэг байхыг хүсэхгүй, эс тэгвээс анхны шүүлтүүрүүдийн хэрэгжүүлдэг яг тэр функцийг сурчихаж магадгүй. Харин бид тодорхой зураг шүүгдэх эсэх дээр эргэлзээтэй хэвээр байх мөртлөө шүүлтүүрт өртөж буй өргөн ангиллуудыг барьж авах, анхны өгөгдлийн шүүлтүүрээс маань илүү жигд загвар хүссэн. Үүний тулд бид жижиг CLIP загварын дээр шугаман probe сургасан.

Зураг шүүлтүүргүй өгөгдлийн сангаас ирсэн байх магадлалыг таамаглах ангилагчтай болсны дараа ч бид энэ таамгийг тухайн зургийн жин болгон хөрвүүлэх хэрэгтэй. Жишээлбэл, P(unfiltered|image) = 0.8 гэж бодъё. Энэ нь уг жишээ шүүлтүүргүй өгөгдөлд шүүсэн өгөгдлөөс 4 дахин их магадлалтайгаар байдаг гэсэн үг бөгөөд 4 гэсэн жин тэнцвэргүй байдлыг засна. Илүү ерөнхийд нь бид P(unfiltered|image)/P(filtered|image) гэсэн жинг ашиглаж болно.A

Энэ дахин жинлэх схем үнэндээ нэмэгдүүлсэн хэвийлтийг хэр сайн бууруулж байна вэ? Өмнөх шүүсэн загвараа шинэ жинлэх схемээр нарийн тааруулахад, нарийн тааруулсан загварын зан төлөв өмнө нь олсон хэвийлттэй жишээнүүд дээр шүүлтүүргүй загвартай илүү ойр таарч байсан. Энэ нь урамтай байсан ч бид түлхүүр үг дээр суурилсан хэвийлтийн эвристикээр энэ бууруулалтыг илүү нарийвчлан үнэлэхийг хүссэн. Шинэ жинлэх схемийг харгалзан түлхүүр үгийн давтамжийг хэмжихийн тулд шүүсэн өгөгдлийн сан дахь түлхүүр үгийн тохиолдол бүрийг түүнийг агуулж буй жишээний жингээр жигнэж болно. Ингэснээр бид шүүсэн өгөгдлийн сан дахь жишээний жинг тусгасан шинэ түлхүүр үгийн давтамжуудыг авна.

Бидний шалгасан ихэнх түлхүүр үгийн хувьд дахин жинлэх схем нь шүүлтүүрээс үүдсэн давтамжийн өөрчлөлтийг багасгасан. Өмнөх “man”, “woman” гэсэн жишээнүүдийн хувьд харьцангуй давтамжийн бууралт 1% болон –1% болсон бол өмнөх утгууд нь тус тус 14% ба 6% байсан. Энэ хэмжүүр нь бодит шүүлтүүрийн хэвийлтийн зөвхөн орлуулгын үзүүлэлт боловч манай зурагт суурилсан дахин жинлэх схем нь бичвэрт суурилсан хэмжүүрийг ийм мэдэгдэхүйц сайжруулж байгаа нь тайвшруулж байна.

Бид DALL·E 2 дахь үлдсэн хэвийлтуудыг үргэлжлүүлэн судалж байгаа бөгөөд үүнд загварын зан төлөвийн томоохон үнэлгээ, шүүлтүүр нь хэвийлт болон чадамжийн хөгжүүлэлтэд хэрхэн нөлөөлснийг судлах ажил багтаж байна.

Зураг шууд давтан гаргахаас сэргийлэх

Бид DALL·E 2-оос өмнөх дотоод загварууд маань заримдаа сургалтын зургуудыг яг хэвээр нь дахин гаргадаг байсныг ажигласан. DALL·E 2 анхнаасаа эх, өвөрмөц зураг бүтээж, одоо байгаа зургуудын хэсгүүдийг зүгээр л “эвлүүлж” болохгүй гэж бид хүсэж байсан тул энэ зан төлөв хүсээгүй зүйл байсан. Түүнчлэн сургалтын зургуудыг яг хэвээр нь дахин гаргах нь зохиогчийн эрх зөрчих, өмчлөл, нууцлалтай холбоотой хууль эрх зүйн асуултуудыг үүсгэж болзошгүй (хэрэв сургалтын өгөгдөлд хүмүүсийн гэрэл зураг байсан бол).

Зураг шууд давтан гаргах асуудлыг илүү сайн ойлгохын тулд бид давхардсан зураг гарахад байнга хүргэдэг өгөгдлүүдийн өгөгдлийн сан цуглуулсан. Үүний тулд сургасан загварыг ашиглан сургалтын өгөгдлийн сангаасаа 50,000 өгөгдөлд зураг жишээлж авч, гарсан зургуудыг харгалзах сургалтын зурагтай перцепцийн төстэй байдлаар эрэмбэлсэн. Эцэст нь хамгийн өндөр тааралтуудыг гараар шалгахад нийт 50 мянган өгөгдлөөс хэдхэн зуун бодит давхардсан хос л олдсон. Хэдийгээр ийм давтан гаргалтын түвшин 1%-иас бага мэт харагдаж байсан ч дээр дурдсан шалтгаануудын улмаас бид энэ түвшинг 0 болгох шаардлагатай гэж үзсэн.

Давтан гарсан зургуудын өгөгдлийн санг судлахад бид хоёр хэв маяг анзаарсан. Нэгдүгээрт, эдгээр зургууд бараг бүгд энгийн вектор график байсан бөгөөд мэдээллийн агуулга багатай тул цээжлэхэд хялбар байж магадгүй. Хоёрдугаарт, илүү чухал нь эдгээр зургууд сургалтын өгөгдлийн санд олон ойролцоо давхардалтай байсан. Жишээлбэл, 1 цагийг зааж буй цаг шиг харагдах вектор график байж болно—дараа нь бид яг ижил цаг 2 цаг, дараа нь 3 цаг гэх мэтээр зааж буй сургалтын жишээнүүдийг олдог байсан. Үүнийг ойлгосны дараа бид тархмал хамгийн ойрын хөршийн хайлт ашиглан давтан гарсан бүх зургууд өгөгдлийн санд перцепцийн хувьд төстэй давхардлуудтай болохыг баталсан. Бусад(шинэ цонхонд нээгдэнэ) ажлууд(шинэ цонхонд нээгдэнэ) том хэлний загваруудад ижил үзэгдэл ажиглаж, өгөгдлийн давхардал нь цээжлэлттэй хүчтэй холбоотойг тогтоосон.

Дээрх олдвор нь хэрэв бид өгөгдлийн сангийнхаа давхардлыг арилгавал зураг давтан гаргах асуудлыг шийдэж магадгүйг санал болгосон. Үүнийг хэрэгжүүлэхийн тулд бид ижил төстэй харагдах зургуудын бүлгийг тодорхойлох нейрон сүлжээ ашиглаж, дараа нь бүлэг бүрээс нэгээс бусдыг нь хасахаар төлөвлөсөн.B

Гэвч энэ нь зураг бүрийн хувьд өгөгдлийн сан дахь бусад бүх зурагтай давхардсан эсэхийг шалгахыг шаардана. Манай бүх өгөгдлийн санд хэдэн зуун сая зураг байгаа тул бүх давхардлыг олохын тулд гэнэн аргаар бол хэдэн зуун квадриллион зургийн хосыг шалгах хэрэгтэй болно. Энэ нь ялангуяа том тооцооллын кластер дээр техникийн хувьд боломжийн хүрээнд байсан ч бид өртгийн өчүүхэн хэсгээр бараг адил сайн ажиллах илүү үр ашигтай хувилбар олсон. Давхардал арилгахаас өмнө өгөгдлийн сангаа кластерчилбал яахыг бодъё. Ойр байгаа жишээнүүд ихэвчлэн нэг кластерт ордог тул давхардсан хосуудын ихэнх нь кластерийн шийдвэрийн хил хязгаарыг давахгүй. Ингэснээр бид кластер бүрийн доторх жишээнүүдийн давхардлыг кластероос гадуур шалгахгүйгээр арилгаж, бүх давхардсан хосын зөвхөн багахан хэсгийг л алдана. Энэ нь гэнэн аргаас хамаагүй хурдан, учир нь бид бүх зургийн хос бүрийг шалгах шаардлагагүй болно.C

Бид энэ аргыг өгөгдлийнхөө жижиг дэд хэсэг дээр туршихад K=1024 кластер ашиглах үед бүх давхардсан хосын 85%-ийг олсон. Дээрх алгоритмын амжилтын түвшинг сайжруулахын тулд бид нэг гол ажиглалтыг ашигласан: өгөгдлийн сангийн өөр өөр санамсаргүй дэд хэсгийг кластерчлахад үүсэх кластерийн шийдвэрийн хилүүд ихэвчлэн нэлээд өөр байдаг. Тиймээс, хэрэв нэг кластерчлалын үед давхардсан хос кластерийн хил давах юм бол өөр кластерчлалын үед тэр хос нэг кластерт багтаж магадгүй. Илүү олон кластерчлал турших тусам тухайн давхардсан хосыг олох магадлал нэмэгдэнэ. Практикт бид таван кластерчлал ашиглахаар тогтсон бөгөөд энэ нь зураг бүрийн давхардлыг таван өөр кластерийн нэгдэл дотроос хайна гэсэн үг. Практикт энэ нь манай өгөгдлийн дэд хэсэг дээр бүх давхардсан хосын 97%-ийг олсон.

Сонирхолтой нь, манай өгөгдлийн сангийн бараг дөрөвний нэг нь давхардал арилгаснаар хасагдсан. Олдсон ойролцоо давхардсан хосуудыг харахад тэдгээрийн олонх нь утга учиртай өөрчлөлтүүдийг агуулж байсан. Дээрх цагны жишээг эргэн санацгаая: өгөгдлийн санд ижил цагийг өдрийн өөр өөр цаг дээр харуулсан олон зураг байж болно. Эдгээр зургууд загварыг тухайн цагны дүр төрхийг цээжлэхэд хүргэж болзошгүй ч нөгөө талаар цаг дээрх өдрийн өөр өөр цагийг ялгаж сурахад бас тусалж магадгүй. Хэдий хэмжээний өгөгдөл хасагдсаныг харгалзан үзэхэд иймэрхүү зургуудыг хасах нь загварын гүйцэтгэлд сөргөөр нөлөөлсөн байж магадгүй гэж бид санаа зовсон.

Давхардал арилгалтын загваруудад үзүүлэх нөлөөг шалгахын тулд бид ижил гиперпараметртэй хоёр загвар сургажээ: нэгийг нь бүрэн өгөгдлийн сан дээр, нөгөөг нь давхардал арилгасан хувилбар дээр. Загваруудыг харьцуулахын тулд бид анхны GLIDE загвараа үнэлэхдээ ашигласан хүний үнэлгээнүүдийг хэрэглэсэн. Сонирхолтой нь хүний үнэлэгчид давхардал арилгасан өгөгдөл дээр сургасан загварыг бага зэрэг илүүд үзсэн нь өгөгдлийн санд байсан их хэмжээний давхардсан зургууд үнэндээ гүйцэтгэлд саад болж байсныг харуулсан.

Давхардал арилгасан өгөгдөл дээр сургасан загвар бэлэн болсны дараа бид өмнө нь сургалтын өгөгдлийн сангийн 50 мянган өгөгдөл дээр хийж байсан зураг давтан гаргалтын хайлтаа дахин явуулсан. Шинэ загвар сургалтын өгөгдлийн сан дахь зургийн яг ижил өгөгдлийг өгөхөд хэзээ ч сургалтын зураг давтан гаргаагүйг бид олсон. Энэ туршилтыг нэг алхам ахиулахын тулд бид мөн 50 мянган үүсгэсэн зураг тус бүрт бүхэл сургалтын өгөгдлийн сан даяар хамгийн ойрын хөршийн хайлт хийсэн. Ингэснээр бид загвар тухайн өгөгдөлтэй холбоотой зургаас өөр зураг давтан гаргаж байгааг илрүүлж магадгүй гэж бодсон. Ийм илүү нарийвчилсан шалгалт хийсэн ч бид зураг давтан гаргалтын нэг ч тохиолдол олоогүй.

Дараагийн алхмууд

Дээр хэлэлцсэн бүх сөрөг нөлөө бууруулах аргууд нь DALL·E 2-той холбоотой эрсдэлийг бууруулах зорилгод маань томоохон ахиц болсон ч арга бүрд сайжруулах орон зай байсаар байна:

  • Илүү сайн урьдчилсан сургалтын шүүлтүүрүүд нь бидэнд DALL·E 2-ыг илүү их өгөгдөл дээр сургах боломж олгож, загварын хэвийлтийг цаашид бууруулж магадгүй. Одоогийн шүүлтүүрүүд маань алгасалтын түвшинг бага байлгахын тулд олон хуурамч эерэгийг зөвшөөрөхөөр тааруулагдсан. Үүний үр дүнд шүүсэн зургуудын ихэнх нь манай агуулгын бодлогыг огт зөрчөөгүй байсан ч бид нийт өгөгдлийн сангийнхаа ойролцоогоор 5%-ийг шүүж хассан. Шүүлтүүрүүдээ сайжруулснаар энэ сургалтын өгөгдлийн зарим хэсгийг буцаан ашиглаж болох юм.
  • Хэвийлт нь систем хөгжүүлэлт, нэвтрүүлэлтийн олон шатанд үүсэж, цаашлаад нэмэгдэж болзошгүй. DALL·E 2 шиг системүүд дэх хэвийлт болон энэ хэвийлтийн учруулах хор нөлөөг үнэлж, бууруулах нь бидний OpenAI дахь өргөн хүрээний эрхэм зорилгын нэг хэсэг болгон үргэлжлүүлэн судалж буй чухал салбар дундын асуудал юм. Үүнд асуудлыг илүү сайн ойлгох үнэлгээ боловсруулах, шинэ өгөгдлийн сан бүрдүүлэх, хүний санал хүсэлт ба нарийн тааруулалт зэрэг аргуудыг хэрэглэн илүү бат бөх, төлөөлөх чадвартай технологи бүтээх ажил орно.
  • Мөн гүний сургалт системүүд дэх цээжлэлт ба ерөнхийлөлтийг үргэлжлүүлэн судлах нь маш чухал. Давхардал арилгах нь цээжлэлтээс сэргийлэх сайн эхний алхам боловч DALL·E 2 шиг загварууд яагаад, хэрхэн сургалтын өгөгдлийг цээжилдгийг бүрэн тайлбарлаж чадахгүй.

Тайлбарууд

  1. Бид P(unfiltered|image)-ийг sigmoid(f(x)) гэж параметрчилбэл жин нь exp(f(x)) болно. Үүнийг sigmoid-ийн тодорхойлолтоос гаргаж болно:

1/(1+ef(x))/(11/(1+ef(x))) 1/(1+e^−f(x))/(1−1/(1+e^−f(x))) =1/(1+ef(x))/((1+ef(x)1)/(1+ef(x))) = 1/(1+e^{-f(x)}) / ((1+e^{-f(x)} - 1)/(1+e^{-f(x)})) =1/(1+ef(x))/((ef(x))/(1+ef(x))) = 1/(1+e^{-f(x)}) / ((e^{-f(x)})/(1+e^{-f(x)})) =(1+ef(x))/(1+ef(x))/(ef(x)) = (1+e^-f(x))/(1+e^-f(x)) / (e^-f(x)) =1/(ef(x))=ef(x) = 1 / (e^{-f(x)}) = e^{f(x)}

  1. B

    Үүнийг хэрэгжүүлэхийн тулд бид сургалтын зураг ii бүрт шинжийн вектор viv_i тооцоолж, дараа нь i<ji < j байх ямар нэгэн ii оршин, vivj||v_i - v_j|| <threshold нөхцөлийг хангах бүх jj зургуудыг хасаж болно. Энэ асуудлыг гэнэн аргаар шийдэхийн тулд бид хос бүрийн зай vivj||v_i - v_j||-г тооцоолох хэрэгтэй бөгөөд энэ даалгавар өгөгдлийн сангийн хэмжээнээс квадрат хамааралтай өснө.

  2. C

    K K -г кластерийн тоо, N N -г өгөгдлийн сангийн хэмжээ гэж үзвэл энэ арга нь бүхэл O(N2) O(N^2) -ын оронд зөвхөн O(K(N/K)2)=O(N2/K) O(K*(N/K)^2) = O(N^2/K) хос зайны тооцоолол шаарддаг. Үүний зэрэгцээ хамгийн муу тохиолдолд ч ямар ч зураг K K -аас олон ойролцоо давхардалтай байхгүй гэдэг нь баталгаатай.

Зохиогчид

Alex Nichol

Хувь нэмэр оруулагчид

Alex Nichol, Aditya Ramesh, Pamela Mishkin, Prafulla Dariwal, Joanne Jang, Mark Chen

Бичвэрт хувь нэмэр оруулсан хүмүүс

Greg Brockman, Aditya Ramesh, Pamela Mishkin, Mark Chen, Pranav Shyam, Casey Chu, Che Chang, Miles Brundage