Мені дуже цікаві штучні нейронні мережі, але я шукаю місце для початку.
Які ресурси там і який хороший стартовий проект?
Мені дуже цікаві штучні нейронні мережі, але я шукаю місце для початку.
Які ресурси там і який хороший стартовий проект?
Відповіді:
Ось кілька прикладів програмування Neural Net. 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 у програмі Code Project .
Він проводить вас через основи, щоб зрозуміти, як вони працюють в легкий для розуміння спосіб, і показує вам, як використовувати його brainnet
бібліотеку, щоб створити свою власну.
Нейронні мережі сьогодні є своєрідним декласом. Підтримка векторних машин та методів ядра краще для більшості класів проблем, ніж зворотного розповсюдження. Нейронні мережі та генетичні алгоритми захоплюють уяву людей, які мало що знають про сучасне машинне навчання, але вони не є найсучаснішими.
Якщо ви хочете дізнатися більше про ШІ та машинне навчання, рекомендую прочитати « Штучний інтелект Петра Норвіга : сучасний підхід» . Це широке опитування ШІ та безліч сучасних технологій. Це також перевершує історію та більш старі методи, і дасть вам більш повне обгрунтування основ AI та машинного навчання.
Хоча нейронні мережі досить легкі. Особливо, якщо ви використовуєте генетичний алгоритм для визначення ваги, а не належне зворотне розмноження.
I друга рекомендація dwf з нейронних мереж для розпізнавання образів Кріс Бішоп. Хоча, можливо, це не початковий текст. Норвіг або онлайн-підручник (з кодом у Matlab!), Мабуть, було б більш ніжним вступом.
Хорошим початковим проектом буде OCR (оптичне розпізнавання символів). Ви можете сканувати на сторінках тексту та подавати кожного символу через мережу, щоб виконати класифікацію. (Ви, звичайно, повинні були б навчити мережу спочатку!).
Книга Рауля Рохаса - це дуже гарний початок (вона також безкоштовна). Крім того, книга 3-го видання Хайкіна , хоча і великого обсягу, дуже добре пояснена.
Я можу порекомендувати, де не починати. Я купив «Вступ до нейронних мереж » Кевіна Ґерні, який має хороші відгуки про Amazon і стверджує, що є «високодоступним вступом до однієї з найважливіших тем когнітивної та інформатики». Особисто я б не рекомендував цю книгу як початок. Я можу зрозуміти лише близько 10%, але, можливо, це лише я (англійська мова не є моєю рідною мовою). Я збираюся розглянути інші варіанти з цієї теми.
http://www.ai-junkie.com/ann/evolved/nnt1.html - це чітке введення в багатошаровий персептрон, хоча він не описує алгоритм зворотного розповсюдження.
Ви також можете поглянути на generation5.org, який містить багато статей про AI загалом і містить чудові тексти про нейронну мережу
Якщо ви не проти витрачати гроші, Довідник з теорії мозку та нейронних мереж дуже хороший. Він містить 287 статей, що висвітлюють дослідження з багатьох дисциплін. Він починається з вступу та теорії, а потім виділяє шляхи через статті, щоб найкраще охопити ваші інтереси.
Що стосується першого проекту, карти Kohonen цікаві для категоризації : знайти приховані стосунки у вашій музичній колекції, створити розумного робота або вирішити приз Netflix .
Дві книги, які там використовували під час мого дослідження:
Вступний курс: Вступ до нейронних обчислень Ігоря Олександра та Хелен Мортон.
Поглиблений курс: Нейрокомп'ютерні роботи Роберта Гехта-Нільсена
Я вважав, що Основи нейронних мереж Фаузета є простим і легким для отримання вступним підручником.
Я вважав підручник "Обчислювальна інтелект" неймовірно корисним.
Програмування колективної розвідки обговорює це в контексті алгоритмів пошуку та ранжирування. Також у доступному тут коді (гл. 4) поняття, обговорені в книзі, проілюстровані на прикладі Python.
Я погоджуюся з іншими людьми, які сказали, що вивчення біології не є гарною відправною точкою ... тому що в біології є багато невідповідної інформації. Вам не потрібно розуміти, як нейрон працює, щоб відтворити його функціональність - потрібно лише імітувати його дії. Я рекомендую "Як створити розум" Рея Курцвейла - це входить в аспект біології, що є актуальним для обчислювальних моделей, (створюючи симульований нейрон, поєднуючи кілька входів і стріляючи, як тільки буде досягнуто порог), але ігнорує нерелевантні речі, наприклад як нейрон насправді додає ваші вхідні дані. (Ви просто використовуватимете + та нерівність, наприклад, для порівняння з порогом)
Я також повинен зазначити, що книга насправді не про «створення розуму» - вона зосереджена лише на розпізнаванні герархічного зразка / неокортексі. Я вважаю, що загальна тема обговорюється з 1980-х, тому є багато старих книг, які, мабуть, містять трохи датовані форми тієї самої інформації. Я читав більш старі документи, в яких зазначається, що система зору, наприклад, є багатошаровим розпізнавачем шаблонів. Він стверджує, що це стосується всього неокортексу. Крім того, прийміть його "прогнози" із зерном солі - його апаратні оцінки, ймовірно, досить точні, але я думаю, що він недооцінює, наскільки складними можуть бути прості завдання (наприклад: водіння автомобіля). Зрозуміло, він побачив великий прогрес (і був частиною деяких), але я все ще думаю, що він надто оптимістичний. Існує велика різниця між тим, що автомобіль AI здатний проїхати милю 90 км успішно, порівняно з 99,9 +%, які може зробити людина. Я не сподіваюся, що будь-який ШІ справді виїжджатиме на мене протягом принаймні 20 років ... (Я не вважаю, що BMW відслідковують автомобілі, яких потрібно "навчити" на фактичному курсі, оскільки вони насправді не грають однаково гра)
Якщо ви вже маєте базове уявлення про те, що таке AI і як його можна моделювати, вам може бути краще перейти до чогось більш технічного.
Якщо ви хочете швидко дізнатися про застосування деяких концепцій нейронної мережі на справжньому симуляторі, на веб- сайті http://grey.colorado.edu/CompCogNeuro/index є чудова онлайн-книга (зараз вікі) під назвою "Обчислювальна когнітивна нейронаука" . php / CCNBook / Main
Книга використовується в школах як підручник і переносить вас через безліч різних областей мозку, від окремих нейронів аж до виконавчого функціонування вищого порядку.
Крім того, кожен розділ доповнюється домашніми завданнями, які вже є для вас. Просто завантажте, виконайте вказівки та змоделюйте все, про що розповідала глава. Програмне забезпечення, яке вони використовують, Emergent, трохи прискіпливе, але неймовірно надійне: я вважаю, що це продукт понад 10 років роботи.
У минулому семестрі я пройшов її в нижчому класі, і це було чудово. Проводить вас усе покроково