Решила в порядке углубления своего бэкграунда в DL пройтись по самым цитируемым/влиятельным статьям в этой области и разобрать их. Первая на очереди - статья, которая так и называется Deep Learning, от небезызвестных ученых Yann LeCun, Yoshua Bengio и Geoffrey Hinton:
https://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf
Статья оказалась обзорной и представляет собой очень краткий очерк основ Deep Learning и состояния области на момент 2015 года, затрагивая темы двух видов архитектур - CNN и RNN. Её можно рекомендовать всем, кто хочет получить базовое представление о данной области и при этом не боится академического стиля изложения и необходимости читать вдумчиво.
Наиболее понятна такая статья, как мне кажется, будет людям с образованием математика, инженера, физика, computer scientist'а и т.п., которые когда-то что-то слышали о DL и теперь хотят чуть лучше понять, что же это такое. Поэтому надеюсь, что она будет полезна нескольким моим друзьям, которые сами не занимаются DL, но заходят сюда почитать мои посты, если, конечно, у них будет желание и время поразбираться.
Статья построена следующим образом: сначала авторы супер-коротко рассказывают про то, чем занимается DL в целом и почему он способен решать ряд задач лучше, чем классические ML алгоритмы, потом сосредотачиваются на постановке задачи Supervised Learning (обучение с учителем). Это не единственный способ ставить задачи глубоким сетям, но зато самый простой для понимания. Далее объясняют, что такое backpropagation - на данный момент главный алгоритм, позволяющий глубоким сетям обучаться. Затем рассматриваются две распространенные архитектуры - сверточные сети (Convolutional Neural Networks, CNN) и рекуррентные сети (Recurrent Neural Networks, RNN) и то, как они применяются на момент 2015 года. Между рассказами про архитектуры рассказано про то, как можно представить слова в виде векторов и почему это полезно для обучения сетей, связанных с моделированием естественного языка. В конце авторы рассуждают, какие перспективы развития у DL в дальнейшем.
Надо отметить, что тем, у кого нет технического/математического образования и опыта в чтении научных статей по математике/computer science, понять статью будет сложнее. В частности, может возникнуть проблема с пониманием параграфа про Backpropagation, так как он требует понимания того, что такое градиент и дифференцирование сложной функции. Но бояться не стоит - в крайнем случае, можно пропускать непонятные места, держа в уме следующую основную идею: градиент objective function (функции ошибки) подсказывает сети, в каком направлении менять веса, чтобы уменьшить ошибку, а backpropagation - математический алгоритм, который позволяет рассчитать, как именно менять веса на глубоких слоях сети. Этого достаточно для примерного понимания дальнейших параграфов. Ну, а если есть время и желание, можно разобрать эти моменты чуть поглубже, используя видео из https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi , а затем вновь вернуться к статье.
Также читатель может запнуться об параграф про Convolutional Neural Networks, т.к. авторы в нем сходу используют терминологию, которую знают не только лишь все. В этом случае можно просто запомнить, что эти сети являются очень эффективной альтернативой полносвязным сетям, часто используемой в обработке изображений, и двинуться дальше, к рассказу про их историю и текущее применение. Либо можно восполнить пробелы, например, с помощью видео https://www.youtube.com/watch?v=8rrHTtUzyZA&list=PLZHQObOWTQDMp_VZelDYjka8tnXNpXhzJ&ab_channel=TheJuliaProgrammingLanguage .
Основную же идею Recurrent Neural Networks, как мне кажется, понять можно и просто путем пристального всматривания в иллюстрацию 5 в статье.
#учебные_материалы #объяснения_статей
https://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf
Статья оказалась обзорной и представляет собой очень краткий очерк основ Deep Learning и состояния области на момент 2015 года, затрагивая темы двух видов архитектур - CNN и RNN. Её можно рекомендовать всем, кто хочет получить базовое представление о данной области и при этом не боится академического стиля изложения и необходимости читать вдумчиво.
Наиболее понятна такая статья, как мне кажется, будет людям с образованием математика, инженера, физика, computer scientist'а и т.п., которые когда-то что-то слышали о DL и теперь хотят чуть лучше понять, что же это такое. Поэтому надеюсь, что она будет полезна нескольким моим друзьям, которые сами не занимаются DL, но заходят сюда почитать мои посты, если, конечно, у них будет желание и время поразбираться.
Статья построена следующим образом: сначала авторы супер-коротко рассказывают про то, чем занимается DL в целом и почему он способен решать ряд задач лучше, чем классические ML алгоритмы, потом сосредотачиваются на постановке задачи Supervised Learning (обучение с учителем). Это не единственный способ ставить задачи глубоким сетям, но зато самый простой для понимания. Далее объясняют, что такое backpropagation - на данный момент главный алгоритм, позволяющий глубоким сетям обучаться. Затем рассматриваются две распространенные архитектуры - сверточные сети (Convolutional Neural Networks, CNN) и рекуррентные сети (Recurrent Neural Networks, RNN) и то, как они применяются на момент 2015 года. Между рассказами про архитектуры рассказано про то, как можно представить слова в виде векторов и почему это полезно для обучения сетей, связанных с моделированием естественного языка. В конце авторы рассуждают, какие перспективы развития у DL в дальнейшем.
Надо отметить, что тем, у кого нет технического/математического образования и опыта в чтении научных статей по математике/computer science, понять статью будет сложнее. В частности, может возникнуть проблема с пониманием параграфа про Backpropagation, так как он требует понимания того, что такое градиент и дифференцирование сложной функции. Но бояться не стоит - в крайнем случае, можно пропускать непонятные места, держа в уме следующую основную идею: градиент objective function (функции ошибки) подсказывает сети, в каком направлении менять веса, чтобы уменьшить ошибку, а backpropagation - математический алгоритм, который позволяет рассчитать, как именно менять веса на глубоких слоях сети. Этого достаточно для примерного понимания дальнейших параграфов. Ну, а если есть время и желание, можно разобрать эти моменты чуть поглубже, используя видео из https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi , а затем вновь вернуться к статье.
Также читатель может запнуться об параграф про Convolutional Neural Networks, т.к. авторы в нем сходу используют терминологию, которую знают не только лишь все. В этом случае можно просто запомнить, что эти сети являются очень эффективной альтернативой полносвязным сетям, часто используемой в обработке изображений, и двинуться дальше, к рассказу про их историю и текущее применение. Либо можно восполнить пробелы, например, с помощью видео https://www.youtube.com/watch?v=8rrHTtUzyZA&list=PLZHQObOWTQDMp_VZelDYjka8tnXNpXhzJ&ab_channel=TheJuliaProgrammingLanguage .
Основную же идею Recurrent Neural Networks, как мне кажется, понять можно и просто путем пристального всматривания в иллюстрацию 5 в статье.
#учебные_материалы #объяснения_статей