Объяснялка от Машеньки:
У меня нейронная сеточка умеет с точностью 95% определять числа рукописные, не говоря о том, что умеет переводить десятичные числа в двоичные
я не очень понимаю что это, но наверно это хорошо)
я могу объяснить на пальцах
Представь, что нейрон - это такая штука, у которой есть N входов и 1 выход
У каждого входа есть вес. Это значит, что у входа n есть параметр "вес" Wn. У нейрона есть параметр bias - точка срабатывания
Простейший нейрон - перцептрон - даёт на выход 1, если SUM(Wn для всех n) - bias >= 0
Иначе он даёт на выход 0
На вход простейшему нейрону могут приходить только числа 0 и 1
На таком простом устройстве можно построить, к примеру, Исключающее ИЛИ: пусть у нейрона два входа, у них равные веса -2 и bias = 3
Если оба входа выключены, то на выходе 1. Если только один включен, то на выходе 1. Если оба включены, то на выходе 0
Нейронная сеть - это связка нейронов. Обычно нейроны располагают слоями: все нейроны слоя 1 связаны с каждым нейроном слоя 2
http://neuralnetworksanddeeplearning.com/images/tikz1.png
Вот так, слева входы - справа выходы
При помощи простейшей нейронной сети из одного слоя - 4 нейрона, у каждого 10 входов - ты можешь реализовать нейронную сеть для перевода десятичных чисел в двоичные
если точнее, чисел от 0 до 9 в двоичную систему
слабо?)
Есть одно существенное улучшение в этой конструкции, которое позволит определять лица на фото, различать привлекательность людей и их возраст, распознавать рукописные символы лучше человека, и оно крайне простое
нужно разрешить входы принимать не значения 0 и 1, а всё между 0 и 1; и выходы тоже соответственно принимают дробные значения между 0 и 1
для перевода сумм весов и bias в значение от 0 до 1 используется сигма-распределение
Всё
я понимаю, что эти нейронные сети являются аналогом реальных сетей в живом организме
Ну, моделью
очень примерной
спасибо, надо это всё осмыслить)
пока я вижу просто сумматор и причем тут нейронные сети, просто сеть
А нейроны и есть сумматоры
интересно, спасибо)
в общих чертах понятно
Вот) самое клевое, что такие сумматоры можно обучать
Unread messages
Ты даешь им известные значения на вход и выход, и понемногу при помощи градиентного спуска определяешь среднеквадратичное отклонение так, чтоб оно было минимальным для значений выходов относительно ожидаемых значений выходов, подбирая значения весов и bias
обучение - это просто приближение к заданному результату?
Да, именно так
http://www.youtube.com/watch?v=nrnxZVEHZCo - вот видео, которое показывает
YouTube
Neural Network Learning
Watch a neural network learn. Her synaptic connections grow thicker as she considers this pattern: 0, 0, 1 → 0 0, 1, 1 → 1 1, 0, 1 → 1 0, 1, 0 → 1 1, 0, 0 → ...
[Video]
Оно учится решать вот такую задачу:
0, 0, 1 → 0
0, 1, 1 → 1
1, 0, 1 → 1
0, 1, 0 → 1
1, 0, 0 → 1
1, 1, 1 → 0
0, 0, 0 → 0
первая строка, то, что мы хотим получить в конце? и дальше случайный перебор
нет-нет
для заданного набора входов (3 входа) заданный набор выходов (1 выход)
такую штуку легко реализовать на логических элементах, конечно
|