Чи можете ви пояснити, наприклад, нейронні мережі простими словами ?
Чи можете ви пояснити, наприклад, нейронні мережі простими словами ?
Відповіді:
Нейронна мережа - це клас обчислювальної системи. Вони створюються з дуже простих вузлів обробки, сформованих у мережу. Вони натхненні тим, як працюють такі біологічні системи, як мозок, хоча на багато порядків менш складні на даний момент.
Вони принципово є системами розпізнавання шаблонів і, як правило, є більш корисними для завдань, які можна описати з точки зору розпізнавання шаблонів. Вони «навчаються», подаючи їх наборам даних із відомими результатами.
Як приклад, уявіть, що ви намагаєтесь навчити мережу виводити 1, коли йому дають зображення кішки, і 0, коли він бачить зображення, яке не є кішкою. Ви будете тренувати мережу, проводячи через неї безліч знімків котів і використовуючи алгоритм для налаштування мережевих параметрів, поки вона не дала правильну відповідь. Параметри - це зазвичай коефіцієнт посилення на кожному вході та вага на кожному вузлі, а також фактична структура мережі (скільки вузлів, у скільки шарів, з якими взаємозв'язками).
Розпізнавання зображень котів насправді є досить складною проблемою і вимагає складної нейронної мережі (можливо, починаючи з одного вузла на піксель). Звичайна відправна точка для експериментів з нейронними мережами - це спробувати застосувати прості логічні ворота, такі як AND, OR, NOT тощо.
Нейронні мережі можуть бути дуже швидким способом досягнення складного результату. Вони дуже цікаві для досліджень ШІ, оскільки є моделлю для мозку тварин.
Одним з головних недоліків нейронних мереж є те, що їх дуже важко реверсувати. Якщо ваша мережа вирішує, що одне зображення слона насправді є кішкою, ви не можете реально визначити "чому" в будь-якому корисному сенсі. Все, що ви дійсно можете зробити, це спробувати тренувати / налаштовувати мережу далі.
Нейронні мережі, як правило, використовуються для чітко обмежених завдань, таких як розпізнавання монет / банкнот у торгових автоматах або виявлення дефектів на виробничих лініях.
Найкраще місце для початку, якщо вас цікавить, - це, мабуть, google 'perceptron', який є назвою одного з найбільш ранніх елементів нейронної мережі.
Я вивчаю штучний інтелект в магістерській програмі, і ми дуже багато використовуємо нейронні мережі. Вони насправді досить корисні.
Я думаю, що проблема нейронних мереж - це їх назва. Це і плутає, що таке нейромережа, і змушує деяких людей сумніватися в їхніх достоїнствах, оскільки вони очікують, що вони можуть діяти як мізки, коли вони справді фантазійний тип функції.
Найкращий спосіб зрозуміти нейронну мережу - пройти повз імені. Не думайте про це як про модель мозку ... його не ... це було задумом у 1960-х, але в 2011 році, і вони весь час використовуються для машинного навчання та класифікації.
Нейронна мережа - це насправді лише математична функція. Ви вводите вектор значень, ці значення помножуються на інші значення, і виводиться значення або вектор значень. Це все, що є .
Вони дуже корисні в проблемних областях, де немає відомої функції для наближення заданих функцій (або входів) до їх виходів (класифікація або регресія). Одним із прикладів може бути погода - існує багато особливостей погоди - тип, температура, рух, хмарний покрив, минулі події тощо - але ніхто не може точно сказати, як порахувати, якою буде погода через 2 дні. Нейронна мережа - це функція, побудована таким чином, що дозволяє легко змінювати її параметри для приблизного прогнозування погоди на основі особливостей.
У цьому річ ... його функція і має приємну структуру, що підходить для "навчання". Можна взяти дані про погоду за останні п’ять років - разом із особливостями погоди та станом погоди на 2 дні в майбутньому, на кожен день за останні п’ять років. Мережеві ваги (множуючі коефіцієнти, які знаходяться в краях) формуються випадковим чином, і дані проходять через них. Для кожного прогнозування NN видаватиме неправильні значення. Використовуючи алгоритм навчання, заснований на обчисленні, наприклад зворотне пропонування, можна використати значення помилок на виході для оновлення всіх ваг у мережі. Після достатнього пробігу даних, рівні помилок досягнуть найнижчої точки (до цього є більше, але я тут не потрапляю - найважливіше - це надмірна відповідність). Мета - зупинити алгоритм навчання, коли рівні помилок знаходяться в кращій точці. Потім мережа фіксується і в цей момент вона єпросто математична функція, яка відображає вхідні значення у вихідні значення, як і будь-яке старе рівняння. Ви вводите нові дані і вірите, що вихідні значення є хорошим наближенням.
Тим, хто стверджує, що вони зазнали невдачі: вони не є. Вони надзвичайно корисні у багатьох областях. Як ви думаєте, як дослідники з'ясовують співвідношення між генами та хворобами? НН, як і інші алгоритми навчання, використовуються в біоінформатиці та інших областях. Показано, що вони дають надзвичайно хороші результати. Тепер NASA використовує їх для виконання космічних станцій, як прогнозування часу роботи акумулятора. Деякі люди скажуть, що підтримують векторні машини тощо, але краще ... але доказів цього немає, інші алгоритми просто новіші.
Дійсно, занадто погані люди все ще стверджують, що нейронні мережі виходять з ладу, тому що вони набагато простіші, ніж людський мозок --- нейронні мережі більше не використовуються для моделювання мізків --- що було 50 років тому.
Це математична схема побудови рівняння (приймання декількох числових входів та надання єдиного числового виводу) з регульованими коефіцієнтами ваги. Існують алгоритми, які можуть регулювати коефіцієнти, щоб зробити рівняння наближеним до очікуваних результатів, даючи навчальний набір, що складається з входів та очікуваних результатів.
Найпростіший приклад, поряд із графікою, доступний у Вікіпедії . Цей приклад відомий як XOR.
Простими словами, як ви запитували, Neural Network - це невдала ідея наслідування біологічних нейронних мереж. Це ніколи не дало цікавих результатів і, ймовірно, ніколи цього не зробить, тому що:
(1) це занадто спрощено порівняно з тим, що можна зробити з будь-якою повною мовою програмування Тьюрінга
(2) це занадто спрощено порівняно з біологічними нейронними мережами: вони виявилися складнішими, ніж це вважалося до моменту створення теорії NN.
Будь-яке твердження про те, що нейронні мережі є успішними в будь-якому завданні, яке використовується в реальних програмах, є перебільшенням.
Заходьте, скажіть мене.