Как стать экспертом по машинному обучению за пять минут и почему на это стоит потратить ещё пять лет

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Своим видением машинного обучения делится Aaron Edell, основатель MachineBox -- это классный ML-стартап, который наглядно демонстрирует опасный тренд, стремительное опопсевание ML. Причём опопсевание обычных программистских технологий не так печально -- всё равно надо знать программирование, уметь кодить, разбираться в технологиях, хотя бы поверхностно понимать устройство пакетов. Это была и будет классическая инженерная дисциплина с определённым, достаточно высоким порогом входа. Ко мне довольно много сейчас обращаются кто интересуется ML и хочет в эту сферу войти, но начиная бесплатно заниматься на первых занятиях по программированию с нуля, быстро сбегают -- "думал будет проще", "не моё", "надо много думать и заниматься" и т. д.

В ситуации с машинным обучением ситуация прямо противоположная: например, прочитав эту статью, вы получите общее понимание темы ML, а попрактиковавшись на подходящем курсе, буквально 5-10 часов, научитесь довольно неплохо обучать модели и правильно подбирать датасеты. Никакой математики, никакого программирования, просто выучить десяток компьютерных паттернов.

То есть здесь огромный разрыв между внешним и внутренним. Берёшь готовый контейнер в докере, где уже сотни натренированных моделей, готовые API распознавания к фейсбуку и вконтакте, готовые механизмы поиска-классификации, есть даже оркестровка когнитивных движков, и просто юзаешь. Это даже не DevOps, а уровень современного школьника в хорошем смысле.

А вот как это сделано внутри, как это расширять, разрабатывать, развивать -- понять значительно сложнее, нежели научиться программировать даже на уровне приличного миддла. Потому что здесь стыкуются уже и обычное программирование, и "необычное", Software 2.0 Андрея Карпати

https://vk.com/wall-152484379_402

Но отдельный огромный плюс этого всего, что получается отличная прокачка мозгов -- вроде занимаешься всё время относительно ограниченными темами классического программирования и вдруг свежий и оригинальный тренд.

Итак, основные понятия ML. Ознакомившись с ними, вы сможете уверенно поддерживать беседы на эти темы :)

1. Сила машинного обучения в том, что оно умеет прогнозировать.

Возможно, распознавание лиц на фотографиях, о чём мы все слышали, покажется необычной темой прогнозирования, однако это предсказание в чистом виде. Просто софт распознаёт лица очень точно, почти никогда не ошибается, и мы эту правильность воспринимаем естественно, но на самом деле это именно прогноз: программа предполагает, что, вероятно, это лицо такого-то человека. На самом деле, очень активно ML применяется в реальных прогнозах -- цен и погоды, транспортных пробок и задержек рейсов, распознавания речи и автоматического перевода, здоровья и кредитоспособности и уже ещё других тысяч и тысяч поведенческих аспектов нашей жизни, о чём мы не подозреваем.

2. Машинное обучение основано на тренировках софта.

Сами по себе системы ML непосредственно к программированию имеют такое же отношение, как и любые другие компьютерные прикладные системы -- то есть никакого. Вы учите модели ML на конкретных примерах, по сути так же, как учите детей: показываете им правильные и неправильные данные (так называемые представления), и говорите, что надо научиться разделять реальную информацию по степени её "похожести" на правильность и неправильность. Собственно, в алгоритмах определения похожести и скрывается вся магия ML.

Соответственно, чем нагляднее вы сформируете такие датасеты, с выраженными признаками нужного класса и с их выраженным отсутствием, тем эффективнее будет выдавать прогнозы похожести обученная модель. Неправильность желательно задавать не совсем абстрактными примерами в вакууме, а примерами, близкими к правильным, но качественно не такими. Например, если обучать распознаванию конкретной модели автомобиля, то в набор "неправильных" данных желательно включить побольше похожих автомобилей других марок. Кроме того, если например речь идёт об изображениях, распознаваемый объект желательно демонстрировать в разных цветах, с разных углов зрения и т. д.

3. Успех машинного обучения -- это точность 90%.

Пока ML не умеет выдавать прогнозы с точностью 100%, да и люди тоже ошибаются. Негласный порог успешности обученной модели -- 90% правильных распознаваний.

10% ошибок -- не много ли? Когда речь идёт например о миллионе изображений, автоматическая классификация 900 тысяч из них экономит на самом деле огромное количество человеческих ресурсов. Кроме того, в серьёзных проектах уровень точности нередко составляет и 99%.

4. Машинное обучение -- это не искусственный интеллект AI, это не нейронные сети и это не глубинное обучение deep learning.

ML -- это одна из технологий для AI. ML предназначено для выдачи прогнозов на основе тренировок на аккуратно подобранных наборах эталонных данных.

Нейронные сети -- это один из классов алгоритмов ML. Они тюнингуют сами себя в процессе длительных тренировок, стараясь всё точнее и точнее "понять", как классифицировать представления, для чего глубина сеток (последовательности геометрических трансформаций векторных пространств) существенно увеличивается.

Окончание следует


Источник: m.vk.com

Комментарии: