js lab2017_lightning talks_Нейронные сети на javascript

9
Нейронные Сети на Javascript докладчик: Алексей Чалый JS Developer в компании 482.solutions

Upload: geekslab-odessa

Post on 06-Apr-2017

25 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: JS Lab2017_Lightning Talks_Нейронные сети на Javascript

Нейронные Сетина Javascript

докладчик: Алексей ЧалыйJS Developer в компании 482.solutions

Page 2: JS Lab2017_Lightning Talks_Нейронные сети на Javascript

Что такое искусственная нейронная сеть

1

• Искусственная нейронная сеть — это математическая модель, а также её программное воплощение, построенные по принципу организации и функционирования биологических нейронных сетей.

По версии одной статьи на хабре, нейронные сети — это просто красивое название, которое придумали, потому что на определение "цепочки операций над матрицами" грант получить куда сложнее.

Page 3: JS Lab2017_Lightning Talks_Нейронные сети на Javascript

Библиотека numjs

2

Для операций над матрицами можно использовать numjs, которая имеет достаточно большой спектр возможностей, например, метод dot(), который используется для произведения матриц

Page 4: JS Lab2017_Lightning Talks_Нейронные сети на Javascript

Применение и особенностиИН сетей

3

• применяются для решения задач, которые нельзя решить алгоритмически• программы созданные на основе ИНС предоставляют приближённый ответ• применяются в Big Data

Page 5: JS Lab2017_Lightning Talks_Нейронные сети на Javascript

Структура искусственного нейрона

4

Синаптическиевеса

Блок суммирования

Входные сигналы

Функция активации

Выходной сигнал

Page 6: JS Lab2017_Lightning Talks_Нейронные сети на Javascript

Структура ИНС

5

Входной слой

Внутренние слои

Выходной слой

Page 7: JS Lab2017_Lightning Talks_Нейронные сети на Javascript

Что из себя представляет обучение нейронной сети?

6

• в процессе работы нейронной периодически происходит обнуление связей, которые не используются, в итоге выкристализовывается структура, которая эффективно работает

• на входы нейрона поступают сигналы -> затем сигналы встречаются с синаптическими весами, в простейшем случае сигналы просто перемножаются с весами, веса выставляются рандомно.

• с каждой тренировкой синаптические веса корректируются

• обучение состоит в правильной корректировке весов у каждогонейрона в сети

Page 8: JS Lab2017_Lightning Talks_Нейронные сети на Javascript

Обзор библиотеки Brain.js

7

Для тренировки сети используется метод с очевидным названием - train(),который принимает массив объектов с полями input и output, которые должны находится в диапазоне от 0 до 1.

Вторым аргументом можно передать объект с настройками.

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

Page 9: JS Lab2017_Lightning Talks_Нейронные сети на Javascript