Як розпочати роботу з нейронними мережами


32

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


11
Існує також курс, який Goeff Hinton викладає через Coursera по нейронних мережах, який розпочнеться наступного тижня: coursera.org/course/neuralnets
Marc Shivers

Цей курс виглядає цікаво, але з відео та веб-сторінки я б здогадався, що він не розроблений як вступ.
Дуглас Заре

@DouglasZare: Я закінчую курс Хінтона, і в деяких частинах я був радий, що вперше пройшов курс ML в Ендрю Нґ.
Андрій

1
Так, я і його взяв. Це був чудовий курс, а не вступ.
Дуглас Заре

Блоги та навчальні посібники про нейронні мережі для початківців learn-neural-networks.com
Фаїль Гафаров

Відповіді:


33

Нейронні мережі існували деякий час, і вони різко змінилися за ці роки. Якщо ви лише обмірковуєте мережу в Інтернеті, у вас може скластися враження, що "нейронна мережа" означає багатошарову мережу подачі даних, яка навчається з зворотним поширенням. Або ви можете натрапити на будь-яку з десятків рідко використовуваних, химерно названих моделей і зробити висновок, що нейронні мережі - це скоріше зоопарк, ніж дослідницький проект. Або що вони новинка. Або ...

Я міг би продовжувати. Якщо ви хочете чіткого пояснення, я б послухав Джеффрі Хінтона . Він був назавжди і, отже, робить велику роботу, переплітаючи всі різні моделі, над якими працював, в одну згуртовану, інтуїтивну (а іноді і теоретичну) історичну розповідь. На його домашній сторінці є посилання на лекції Google Tech Talks та Videolectures.net (про RBMs та Deep Learning , серед інших).

З того, як я це бачу, ось історико-педагогічна дорожня карта до розуміння нейронних мереж, від їх виникнення до найсучаснішого:

  • Перцептрони
    • Легко зрозуміти
    • Суворо обмежена
  • Багатошаровий, тренований за допомогою зворотного пропонування
    • Багато ресурсів для того, щоб дізнатись цього
    • Як правило, не так добре, як SVM
  • Машини Больцмана
    • Цікавий спосіб мислення про стабільність періодичної мережі з точки зору "енергії"
    • Подивіться на мережі Хопфілда, якщо ви хочете легко зрозуміти (але не дуже практичний) приклад періодичних мереж з "енергією".
    • Теоретично цікавий, марний на практиці (тренування з такою ж швидкістю, як континентальний дрейф)
  • Машини Больцмана з обмеженим доступом
    • Корисно!
    • Створення теорії машин Больцмана
    • Деякі хороші знайомства в Інтернеті
  • Мережі глибокої віри
    • Наскільки я можу сказати, це клас багатошарових УЗМ для навчання напівконтролю.
    • Деякі ресурси

1
Дякую вам за цей огляд і за безліч ресурсів!
Клаудіо Альбертін

2
Ніяких проблем. Успіхів у ваших нейронних мережах.
Stumpy Joe Pete

8

Я настійно рекомендую переглянути ці лекції та використовувати це як матеріал для читання . Ці лекції про машинне навчання в цілому Ендрю Нг довго розмовляє про нейронні мережі і намагається зробити це доступним для початківців.


Не могли б ви вказати заголовки? Посилання в майбутньому можуть загинути ...
Річард Харді

5

Це, на мій погляд, дуже хороші книги.

  • Р. Рохас: Нейронні мережі
  • CM Bishop: Нейронні мережі для розпізнавання візерунків

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

Rojas має розділ, який мені особливо подобається, про реалізацію зворотного розповсюдження на багатьох шарах у матричній формі. У ньому є приємний розділ про нечітку логіку та один про теорію складності. Але тоді у Бішопа є безліч інших приємних розділів.

Rojas - це, я б сказав, найдоступніший. Бішоп є більш математичним і, можливо, більш досконалим. В обох книгах математика - це здебільшого лінійна алгебра та обчислення функцій декількох змінних (часткові похідні тощо). Без будь-яких знань з цих предметів ви, мабуть, не знайшли б жодної з цих книг дуже яскравою.

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

В обох книгах, очевидно, є багато сказати про алгоритми, але ні багато не говорить про конкретні реалізації в коді.

Як мені здається, ці книги забезпечують передумови, що дозволяють зрозуміти он-лайн курс (наприклад, Гінтон, Курсера). Книги також висвітлюють набагато більше, і набагато більше деталей, ніж це можна зробити в Інтернеті.

Я сподіваюся, що це допомагає, і я раді відповісти на будь-які запитання про книги.


3
Ласкаво просимо на сайт, @Old_Mortality. Ви можете сказати щось про ці книги? Що в них добре? Чи підходять вони людям з певним рівнем математичної та / або складності кодування? Що б ви рекомендували прочитати ОП 1-го? І т. Д.
gung - Відновити Моніку

1
Дякую за пропозицію. Свою відповідь я відредагував вище.
Old_Mortality

3

Як зазначали інші, в Інтернеті є багато (хороших) ресурсів, і я особисто зробив деякі з них:

  • Ng вступ до ML класу на курсі
  • Клас Нейронних мереж Хінтона на курсі
  • Підручник з глибокого навчання Нг
  • читаючи відповідні глави в оригінальній паралельній розподіленій обробці

Хочу звернути увагу на той факт, що ці експозиції здебільшого дотримувалися класичної обробки, коли шари (підсумовування та нелінійність разом) є основними одиницями. Більш популярна і гнучка обробка, реалізована в більшості бібліотек, таких як torch-nn і tensorflow, тепер використовує обчислювальний графік з автоматичною диференціацією для досягнення високої модульності. Концептуально це простіше і звільняє. Я дуже рекомендую відмінний відкритий курс 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.