Какие хорошие ресурсы для изучения искусственных нейронных сетей? [закрыто]

109

Меня действительно интересуют искусственные нейронные сети, но я ищу, с чего начать.

Какие ресурсы есть и с чего начать?

cbrulak
источник
Я предполагаю, искусственные нейронные сети? Какая область вас интересует (к чему бы вы применили: почерк, классификация, логика)?
bias
Думаю, логика: я думал о роботе в лабиринте или что-то в этом роде и пробовал разные алгоритмы, но делал так, чтобы сеть решала, какой из них лучше, и т. Д.
cbrulak
3
На Coursera есть отличный курс по нейронным сетям от Джеффри Хинтона. Он начинается с основ и заканчивается современными подходами и даже больше.
alfa
4
Курс « Машинное обучение» Эндрю Нг - это то, что я рекомендую для начинающих, прежде чем проходить курс Джеффри Хинтона, который касается более продвинутых нейронных сетей и теоретических аспектов.
gaborous

Ответы:

17

Вот несколько примеров программирования нейронной сети. http://www.codeproject.com/KB/recipes/neural_dot_net.aspx

вы можете начать читать здесь: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html

Я со своей стороны посетил курс об этом и проработал литературу.

Фридрих
источник
2
Несколько дней назад программа Geocities
перестала работать,
33

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

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

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

Одна из лучших книг по этой теме - « Нейронные сети для распознавания образов» Криса Бишопа . На данном этапе он довольно старый, но по-прежнему остается отличным ресурсом, и вы часто можете найти использованные копии в Интернете примерно за 30 долларов. Глава о нейронных сетях в его новой книге « Распознавание образов и машинное обучение» также довольно обширна. Для особенно хорошего руководства, ориентированного на реализацию, см. Этот на CodeProject.com, который реализует хитроумную сеть, называемую сверточной сетью, которая ограничивает возможности подключения таким образом, чтобы сделать ее очень хорошей при обучении классификации визуальных паттернов.

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

DWF
источник
Хорошая точка зрения. Нейрон - это просто логистическая единица, возникшая в результате логистической регрессии. Затем создаются многофазные мультирегрессионные блоки, которые называются нейронными сетями, потому что они «похожи» на нейронные сети. Это не вдохновлено мозгом или чем-то подобным.
ozgur 04
Было бы неверно утверждать, что изучение актуальной нейробиологии будет бесполезным для исследований в этой области. Джефф Хокинс и его исследования попытались включить больше знаний о нейробиологии в свою работу над HTM. HTM работает довольно хорошо. В конце концов, изучение нейробиологии может быть полезно, если вы собираетесь исследовать новые сетевые топологии и методы взаимодействия, имитирующие реальные биологические примеры. Если вы намереваетесь просто использовать то, что уже исследовали другие, а не проводить собственное исследование, тогда да, исследования нейробиологии могут быть бессмысленными.
SmugDoodleBug
29

Я очень рекомендую эту отличную серию Анупа Мадхусуданана о Code Project .

Он в простой для понимания форме проведет вас через основы, чтобы понять, как они работают, и покажет, как использовать свою brainnetбиблиотеку для создания своей собственной.

CodeAndCats
источник
7
Вау здорово. Вы также можете прочитать это в моем блоге, amazedsaint.blogspot.com/2008/01/…
amazedsaint
11

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

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

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

Чад Окере
источник
1
Нейронные сети не состоят только из обратного распространения; есть масса других сетей - ассоциативная память, SOFM Кохонена, сети на основе адаптивного исследования и так далее ... MLP и обратное распространение - самые популярные сети, но не самые эффективные ...
lmsasu
3
«Нейронные сети в наши дни как бы деклассируются» - ну, больше нет. Методы «глубокого обучения» для обучения многоуровневой NN и специальной архитектуре NN кажутся сейчас одними из самых популярных в ML. Только один пример из многих, googleresearch.blogspot.co.uk/2015/03/…
Джон Донн,
5

Я вторая рекомендация dwf по нейронным сетям для распознавания образов Криса Бишопа. Хотя, возможно, это не стартовый текст. Norvig или онлайн-руководство (с кодом в Matlab!), Вероятно, было бы более мягким введением.

Хорошим стартовым проектом будет OCR (оптическое распознавание символов). Вы можете сканировать страницы текста и передавать каждый символ по сети, чтобы выполнить классификацию. (Конечно, сначала нужно обучить сеть!).

Graveca
источник
4

Могу порекомендовать, с чего не начинать. Я купил «Введение в нейронные сети » Кевина Герни, у которого есть хорошие отзывы на Amazon и который утверждает, что это «очень доступное введение в одну из самых важных тем когнитивной и компьютерной науки». Лично я бы не рекомендовал эту книгу для начала. Я могу понять только около 10% этого, но, возможно, это только я (английский не мой родной язык). Я собираюсь изучить другие варианты из этой ветки.

Винсент
источник
3

http://www.ai-junkie.com/ann/evolved/nnt1.html - это четкое введение в многослойный перцептрон, хотя он не описывает алгоритм обратного распространения.

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

user217299
источник
2

Если вы не против тратить деньги, то справочник по теории мозга и нейронным сетям очень хорош. Он содержит 287 статей, посвященных исследованиям во многих дисциплинах. Он начинается с введения и теории, а затем выделяет пути по статьям, которые наилучшим образом отражают ваши интересы.

Что касается первого проекта, карты Кохонена интересны для категоризации : найдите скрытые взаимосвязи в своей музыкальной коллекции, создайте умного робота или разгадывайте приз Netflix .

Корбин Марч
источник
1

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

Xn0vv3r
источник
1

Мне очень помог учебник «Вычислительный интеллект».

Брэдли Пауэрс
источник
1

Я согласен с другими людьми, которые сказали, что изучение биологии - не лучшая отправная точка ... потому что в биологии есть много нерелевантной информации. Вам не нужно понимать, как работает нейрон, чтобы воссоздать свою функциональность - вам нужно только смоделировать его действия. Я рекомендую «Как создать разум» Рэя Курцвейла - он касается аспекта биологии, который имеет отношение к вычислительным моделям (создание симулируемого нейрона путем объединения нескольких входных данных и срабатывания при достижении порога), но игнорирует несущественные вещи, такие как как нейрон фактически добавляет тысячи входных данных вместе. (Вы просто будете использовать + и неравенство для сравнения, например, с порогом)

Я также должен отметить, что книга на самом деле не о «создании разума» - она ​​фокусируется только на распознавании иерархических образов / неокортексе. Я полагаю, что об этой общей теме говорят с 1980-х, поэтому существует множество старых книг, которые, вероятно, содержат слегка устаревшие формы той же информации. Я читал старые документы, в которых говорилось, что система технического зрения, например, представляет собой многослойный распознаватель образов. Он утверждает, что это относится ко всему неокортексу в целом. Кроме того, отнеситесь к его «прогнозам» с недоверием - его оценки оборудования, вероятно, довольно точны, но я думаю, что он недооценивает, насколько сложными могут быть простые задачи (например, вождение автомобиля). Конечно, он добился большого прогресса (и был частью этого), но я все же думаю, что он слишком оптимистичен. Существует большая разница между машиной с искусственным интеллектом, способной успешно проехать милю в 90% случаев, по сравнению с 99,9 +%, которые может сделать человек. Я не ожидаю, что какой-либо ИИ будет по-настоящему отвлекать меня, по крайней мере, на 20 лет ... (Я не считаю гоночные машины BMW, которые нужно `` тренировать '' на реальной трассе, поскольку они на самом деле не играют так же игра)

Если у вас уже есть базовое представление о том, что такое ИИ и как его можно моделировать, возможно, вам лучше перейти к чему-то более техническому.

Аллен
источник
0

Если вы хотите быстро узнать о применении некоторых концепций нейронных сетей на реальном симуляторе, есть отличная онлайн-книга (теперь вики) под названием «Вычислительная когнитивная нейробиология» по адресу http://grey.colorado.edu/CompCogNeuro/index. php / CCNBook / Главная

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

Кроме того, каждый раздел дополнен домашними «проектами», которые уже готовы для вас. Просто скачайте, следуйте инструкциям и смоделируйте все, о чем говорилось в главе. Программное обеспечение, которое они используют, Emergent, немного сложное, но невероятно надежное: я считаю, что это продукт более чем 10-летней работы.

В прошлом семестре я прошел его в старших классах, и это было здорово. Проводит вас через все шаг за шагом

Варун Сингх
источник