Speaker A
Итак, я всех приветствую на десятой лекции по курсу AI от основ до трансформеров. Мы с вами идём от основ машинного обучения к самым способным и модным нейронным сетям под названием трансформеры, срезая те или иные углы на пути. Это не очевидно, потому что я думаю, что может быть свёрточные нейроны мы с вами захватим, но я буду думать, как это сделать максимально компактно, чтобы никого не травмировать. Это будет дальше. Понятно? Так. А я прошу прощения за некоторую паузу в наших лекциях, в наших видео. То есть получается, что у меня не было... А ну, три занятия у меня пропало. Вот. Но вот мы снова на коне, возвращаемся. У меня много что произошло, в частности, я переехал из Турции в Сербию. А здесь я ещё не легализовался, но тем не менее теперь я, похоже, буду жить здесь. Так да. Соответственно, если у вас есть желание провести какую-нибудь лекцию по машинному обучению где-нибудь в Белграде или на Висе, пишите. Я бы провёл. Так. Да. Теперь собственно говоря к теме сегодняшней лекции. Сегодняшняя лекция супер важная, потому что мы с вами переходим к глубокому обучению. Столько было разговоров. А и девять лекций мы с вами изучали базовый алгоритм машинного обучения, и вот наконец-то Deep Learning. А да, сразу всех тех, кому не терпится перейти к архитектуре какой-нибудь, какого-нибудь трансформера или какого-нибудь ренета, позвольте я вас не знаю как-то или остудю, или успокою. Сначала мы с вами будем говорить о том, зачем, почему это вообще важно, а в чём принципиальное отличие глубокого обучения от классического машинного обучения, когда это работает, почему это работает. И сразу скажу, что так как я курс по глубокому обучению читаю много лет, и он трансформируется у меня постоянно, точнее, как он первое время трансформировался, и в последнее время я был вынужден его трансформировать, я много думаю об этом. И нет ничего проще, чем сказать: у нас сегодня курс по рингу, давайте я вам расскажу про какую-нибудь архитектуру. Моя цель другая. Моя цель в том, чтобы было понятно принципиально, чем это отличается, то есть отличия не просто количественные, а качественные. Соответственно, об этом будет много. А я надеюсь, что это, скажем так, самое ценное на самом деле, что я могу вам рассказать, потому что про архитектуру вам расскажу все, но я тоже расскажу просто попозже, когда вы будете к этому готовы, скажем так. Так. А один из вопросов: зачем нам вообще нужен Deep Learning? То есть что не так было с классическими алгоритмами? А позвольте я поясню. Я думаю, что здесь мы проведём какое-то время с вами на этом слайде, как работаем с классическими алгоритмами. У нас есть некоторый вектор X. Он поступает на вход нашему алгоритму, и мы получаем результат. И теперь возникает вопрос: а что вообще описывает вектор X? Важно это или нет? Потому что вот эта логика, которой многие поначалу придерживаются, и я не исключаю, что и я что-то такое мог озвучивать на своих лекциях, что это же машинное обучение, это же искусственный интеллект, зачем нам думать о том, какие данные мы подаём, он сам там внутри разберётся в любом случае. Сейчас я этой логики не придерживаюсь, и я считаю, что на исследователе, на инженере лежит значительная ответственность за то, будет работать его алгоритм или нет. Просто полагаться на вот эту компоненту на самом деле наивно и, скажем так, безответственно. А теперь давайте поговорим, что за вектор X и в каких случаях для нас проблему глубокого обучения стоит особенно остро. Значит, если X имеет мерность, например, 100 или, например, даже может быть иногда 500 или 1000 элементов, или у него есть индивидуальные компоненты достаточно... Давайте ко... То есть те компоненты, которые имеют ценность с точки зрения классификации даже сами по себе. Приведу пример. Допустим, мы хотим с вами отличить женщин по каким-то параметрам, и одна из компонент у нас, например, это вес. И мужчины в среднем весят больше, чем женщины. Это недостаточные компоненты для того, чтобы точную классификацию провести, но тем не менее мы совершенно точно можем уже какой-никакой классификатор построить, зная только этот компонент, да, потому что это там два распределения. Вот. И соответственно эта компонента значима сама по себе. Если же мы с вами взяли бы в качестве компоненты, например, ну это будет совсем бредовая идея, а например вторая буква имени этого человека гласная или согласная, то эта компонента сама по себе нам информации никакой не даст. Но при этом, а если мы с вами соберём, или даже не так, давайте вот просто первая буква имени или там третья буква имени, просто по третьей букве имени вы не можете принять решение о том, это мужчина или женщина. Тем не менее понятно, что если мы знаем каждую букву имени, да, то мы можем понять мужское имя это или женское. И несмотря на то, что здесь тоже разные бывают ситуации, однако мы всё равно можем сказать, что это мужское имя, соответственно все буквы, знаете, можете определить, женское имя — это женщина. Вот. Но одна буква ничего не даёт. Так вот, вес — это значимая в данном случае характеристика сама по себе, а одна буква нет, но в сочетании они могут быть значимы. И ещё компоненты X играют разные роли. То... есть они вычислены по-разному. Давайте... То есть, например, у нас есть компонента с ростом, есть компонента с весом, есть компонента с, не знаю, с чем-то ещё, с охватом талии, бёдер и так далее. Вот. И все эти компоненты одна к другой не сводятся, они разнородные, да? Или допустим у вас какие-то медицинские тесты, да? И там есть температура тела, есть флаг, есть у вас кашель, нет у вас кашля, не знаю, красные глаза, у вас не красные глаза. То есть получается, что эти компоненты, ну скажем так, гетерогенные. А в ситуации, где мы с вами, например, знаем первую букву, вторую букву, третью букву, четвёртую букву имени, да, это ситуация иная, да, потому что все компоненты на самом деле имеют один и тот же тип. Так вот, если выполняются те условия, что вы видите, то вас в значительной степени должны устраивать классические алгоритмы машинного обучения. Вам не нужно особенно переживать, что у вас не глубокое обучение, потому что здесь глубокое обучение особенно-то не может помочь на самом деле. То есть большинство алгоритмов глубокого обучения здесь будут неприменимы, а те, которые будут применимы, будут либо еле-еле дотягивать, либо будут еле-еле опережать их. И на этом, в принципе, всё. То есть глубокое обучение здесь не принесёт никакой значительной пользы, и мало того, если вы в такой задаче используете глубокое обучение без важной на то причины, это, ну, это неправильное решение. Вы выглядите человеком, который не разбирается. Я такое видел не раз, потому что студенты в университете они спешат применить модный алгоритм к тем данным, которые для этого не подходят. Так вот. Соответственно, если наш вектор описывает параметры человека, который может быть вернёт, а может быть не вернёт кредит, или результаты медицинских тестов, или рост, вес, охват, то есть какие-то параметры человека, длину ног, вот это все ситуации, когда вам не особенно это нужно. Теперь важный вопрос: а когда Deep Learning, собственно говоря, нужен? Понятное дело, когда мы будем сейчас с вами говорить про противоположное, противоположное этой ситуации, то есть вектор X у нас имеет высокую размерность, а тысячи, десятки тысяч компонентов. Следующее: каждая компонента вектора X не несёт значение сама по себе. Третье: я сейчас всё перечислю. И после этого мы начнём с вами приводить примеры. Эти компоненты играют одни и те же роли. То есть, например, если мы подаём на вход изображения, да, то пиксель с этими координатами, пиксель с теми координатами, пиксель с третьими координатами — это всё пиксели, они все равнозначны. Я это называю гомогенными компонентами. И четвёртое здесь было неявно, скажем так, здесь, наверное, зашито, но тем не менее четвёртое свойство компонентов — значит, компоненты связаны как-то либо в пространстве, либо во времени. То есть мы можем сказать, что вот эти компоненты в пространстве ближе относятся, находятся друг к другу или дальше друг от друга. То есть они либо пространственно, либо темпорально связаны. Специфично, то есть пространственно. В таких случаях вам нужен Deep Learning. Давайте теперь мы с вами разберёмся, что всё это значит, и приведём...