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

StackOverflow https://stackoverflow.com/questions/478947

  •  20-08-2019
  •  | 
  •  

Вопрос

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

Какие ресурсы существуют и что такое хороший стартовый проект?

Это было полезно?

Решение

Вот несколько примеров программирования нейронных сетей.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

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

Другие советы

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

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

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

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

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

Я бы настоятельно рекомендовал эту превосходную серию Anoop Madhusudanan на Проект кода.

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

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

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

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

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

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

Книга Рауля Рохаса это очень хорошее начало (это также бесплатно).Также, Книга Хайкина 3-е издание, хотя и имеет большой объем, очень хорошо объяснен.

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

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

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

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

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

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

Две книги, которые были использованы во время моего обучения:

Вводный курс: Введение в нейронные вычисления Игоря Александера и Хелен Мортон.

Продвинутый курс: Нейрокомпьютинг Роберта Хехта-Нильсена

Я нашел Фаусетта Основы нейронных сетей простой и понятный вводный учебник.

Я нашел учебник "Вычислительный интеллект" невероятно полезным.

Программирование Коллективного Разума обсуждается это в контексте алгоритмов поиска и ранжирования.Кроме того, в доступном коде здесь (в главе 4) концепции, обсуждаемые в книге, проиллюстрированы на примере Python.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top