Лого на 91. НЕГ „Проф. Константин Гълъбов“

Избираем модул · Урок 5

Практикум: първият собствен модел

За 20 минути обучаваме класификатор на изображения в Teachable Machine. Какво прави той наистина, защо стигат 40 снимки и как да го хванем, че мами.

Какво ще направим

Днес обучавате свой модел. Не с код — с уеб инструмент на име Teachable Machine, — но моделът е истински: невронна мрежа, която след 15 минути разпознава неща, които никой не я е учил да разпознава преди днес.

Целта на часа не е инструментът, а усещането за цикъла: събирам данни → обучавам → пробвам → откривам къде греши → подобрявам данните. Този цикъл е един и същ и за Teachable Machine, и за модел с милиард параметъра.

Защо стигат 40 снимки

Обичайното възражение е: нали за обучение трябват десетки хиляди примери? Вярно е — но не за вашата част от работата.

снимка224×224готова мрежаобучена от Googleвърху милиони снимки(не се променя)1280числавашиятслойсе обучаваОбучава се само последната част — затова стигат минути и десетки снимки.
Готовата мрежа превръща снимката в 1280 числа, описващи какво има на нея. Върху тези числа се обучава съвсем малък класификатор.

Трансферно обучение (transfer learning)

Взимаме мрежа, обучена върху огромен набор от общи изображения, и използваме нейното „зрение“ за нова задача, като дообучаваме само последния слой.

Голямата мрежа вече знае какво е ръб, кръг, текстура, лице, метал. Вашите 40 снимки не я учат да вижда — те само ѝ казват кои от вече познатите признаци отличават вашите класове. Затова работи бързо и в браузъра.

Правилата за добри данни

  • Балансирани класове — приблизително еднакъв брой снимки за всеки клас. При 100 снимки на единия и 15 на другия моделът просто ще предпочита първия.
  • Разнообразие — различен ъгъл, разстояние, осветление, фон. Ако всички снимки на класа са направени на едно и също място, моделът ще научи мястото, не предмета.
  • Условия като при употреба — ако приложението ще се ползва с телефон в коридора, снимките не бива да са само студийни.
  • Чисти етикети — снимка, попаднала в грешния клас, учи модела на грешното нещо също толкова добре, колкото верните.

Най-честият капан: моделът мами

Ако снимате единия клас върху бяло бюро, а другия — държан в ръка, моделът може да се научи да разпознава ръка или бяло бюро, а не предмета. Изглежда с 99% точност, а на практика е безполезен. Това се нарича учене по пряк път (shortcut learning) и ще го проверим нарочно днес.

Какво показва процентът

Увереност, а не истина

Под всеки клас Teachable Machine показва лента с процент. Това е увереността на модела, а не вероятността да е прав. Модел може да е уверен 98% и да греши — особено когато му покажете нещо, което не прилича на нито един от класовете, с които е обучен.

Няма клас „друго“

Ако сте обучили три класа, моделът задължително ще избере един от трите за всичко, което види — включително за празна стена. Ако приложението трябва да казва „не знам“, това се постига с отделен клас „нищо“ и с праг на увереността.