Как начать работу с нейронными сетями


32

Я совершенно новичок в нейронных сетях, но очень заинтересован в их понимании. Однако начать совсем не легко.
Кто-нибудь может порекомендовать хорошую книгу или любой другой вид ресурса? Нужно ли читать?
Я благодарен за любой совет.


11
Есть также курс, который Гофф Хинтон преподает через Coursera по нейронным сетям, который начинается на следующей неделе: coursera.org/course/neuralnets
Марк Шиверс,

Этот курс выглядит интересно, но из видео и веб-страницы, я думаю, он не предназначен для ознакомления.
Дуглас Заре

@DouglasZare: Я заканчиваю курс Хинтона, и в некоторых частях я был рад, что сначала прошел курс ML Andrew Ng.
Андрей

1
Да, я тоже это взял. Это был отличный курс, и никакого представления.
Дуглас Заре

Блоги и учебные пособия по нейронным сетям для начинающих learn-neural-networks.com
Фаиль Гафаров

Ответы:


33

Нейронные сети существуют уже некоторое время, и они сильно изменились за эти годы. Если вы только ковыряетесь в Интернете, у вас может сложиться впечатление, что «нейронная сеть» означает многослойную сеть с прямой связью, обученную обратному распространению. Или вы можете столкнуться с любой из десятков редко используемых, причудливо названных моделей и сделать вывод, что нейронные сети - это скорее зоопарк, чем исследовательский проект. Или что они новинка. Или...

Я мог бы продолжить. Если вы хотите четкого объяснения, я бы послушал Джеффри Хинтона . Он был вокруг навсегда и (поэтому?) Проделывает огромную работу, сплетая все несопоставимые модели, над которыми он работал, в одно связное, интуитивное (а иногда и теоретическое) историческое повествование. На его домашней странице есть ссылки на лекции Google Tech Talks и Videolectures.net, которые он прочитал (среди прочего, на RBMs и Deep Learning ).

На мой взгляд, вот историко-педагогическая дорожная карта к пониманию нейронных сетей, от их зарождения до современного состояния:

  • Перцептроны
    • Легко понять
    • Строго ограничен
  • Многослойный, тренируемый методом обратного распространения
    • Много ресурсов, чтобы узнать эти
    • Как правило, не так хорошо, как SVM
  • Машины Больцмана
    • Интересный способ мышления о стабильности периодической сети в терминах «энергии»
    • Посмотрите на сети Хопфилда, если вы хотите простой (но не очень практичный) пример повторяющихся сетей с «энергией».
    • Теоретически интересно, бесполезно на практике (тренировка примерно на той же скорости, что и континентальный дрейф)
  • Ограниченные машины Больцмана
    • Полезно!
    • Построение теории машин Больцмана
    • Некоторые хорошие введения в Интернете
  • Сети глубокого убеждения
    • Насколько я могу судить, это класс многослойных УОК для обучения под наблюдением.
    • Некоторые ресурсы

1
Большое спасибо за этот обзор и за эти многочисленные ресурсы!
Клаудио Альбертин

2
Без проблем. Удачи в вашей нейронной сети.
Stumpy Джо Пит

8

Я настоятельно рекомендую посмотреть эти лекции и использовать их в качестве материала для чтения . Эти лекции посвящены машинному обучению в целом. Эндрю Нг подробно рассказывает о нейронных сетях и изо всех сил старается сделать его доступным для начинающих.


Не могли бы вы указать названия? Ссылки могут прекратиться в будущем ...
Ричард Харди

5

Это, на мой взгляд, очень хорошие книги.

  • Р. Рохас: Нейронные сети
  • CM Bishop: нейронные сети для распознавания образов

Книги имеют некоторые сходства: они имеют длину около 500 страниц и довольно старые, начиная с 1995 года. Тем не менее, они остаются очень полезными. Обе книги начинаются с нуля, объясняя, что такое нейронные сети. Они дают четкие объяснения, хорошие примеры и хорошие графики, чтобы помочь пониманию. Они очень подробно объясняют проблемы обучения нейронных сетей во многих их формах и формах, а также то, что они могут и не могут делать. Две книги очень хорошо дополняют друг друга, потому что то, что нельзя понять с помощью одной книги, можно найти в другой.

У Рохаса есть раздел, который мне особенно нравится, о реализации обратного распространения по многим слоям в матричной форме. Там также есть хороший раздел о нечеткой логике и один о теории сложности. Но тогда у Бишопа есть много других приятных разделов.

Рохас, я бы сказал, самый доступный. Епископ более математичен и, возможно, более изощрен. В обеих книгах математика - это в основном линейная алгебра и исчисление функций многих переменных (частных производных и т. Д.). Без знания этих предметов вы, вероятно, не найдете ни одну из этих книг очень полезной.

Я бы рекомендовал сначала прочитать Рохас.

Обе книги, очевидно, могут многое рассказать об алгоритмах, но ни одна не говорит о конкретных реализациях в коде.

Для меня эти книги обеспечивают основу, которая делает онлайн-курс (такой как Хинтон, на Coursera) понятным. Книги также охватывают гораздо больше вопросов и гораздо более подробно, чем это можно сделать в Интернете.

Я надеюсь, что это поможет, и с удовольствием отвечу на любые вопросы о книгах.


3
Добро пожаловать на сайт @Old_Mortality. Ты можешь что-нибудь сказать об этих книгах? Что в них хорошего? Подходят ли они для людей с некоторым уровнем математической и / или изощренности в программировании? Что бы вы порекомендовали прочитать ОП 1-го? И т.д.
Ган - Восстановить Монику

1
Спасибо за предложение. Я отредактировал мой ответ выше.
Old_Mortality

3

Как отмечали другие люди, в Интернете есть много (хороших) ресурсов, и я лично сделал некоторые из них:

  • Введение Нг в ML класс на Coursera
  • Класс нейронных сетей Хинтона на Coursera
  • Нг углубленное обучение учебник
  • чтение соответствующих глав в оригинальной параллельной распределенной обработке

Я хочу обратить внимание на тот факт, что эти экспозиции в основном следовали классической трактовке, где слои (суммация и нелинейность вместе) являются основными единицами. Более популярная и более гибкая обработка, реализованная в большинстве библиотек, таких как torch-nn и tenorflow, теперь использует граф вычислений с автоматическим дифференцированием для достижения высокой модульности. Концептуально это проще и более раскрепощенно. Я очень рекомендую превосходный открытый курс Stanford CS231n для этого лечения.

Для строгого, теоретического обучения, вы можете обратиться к нейронным сетям Энтони и Бартлетта.


1

Если вы хотите лечение с более статистической точки зрения, взгляните на «Распознавание образов и нейронные сети» Брайана Рипли. Эта книга не является вводной и предполагает некоторую статистическую подготовку.

http://www.stats.ox.ac.uk/~ripley/PRbook/


0

Я создал веб-приложение, которое поддерживает ваш учебный процесс в области нейронных сетей.

https://blueneurons.ch/nn

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

Инструкции и пояснения к реализованным элементам:

Гид пользователя

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.