Знакомьтесь, нейросеть!

17 марта 2021, автор: Елена Позднякова
Привет всем!
Эта статья написана в качестве текстового дополнения к видео: "Знакомьтесь, Нейросеть!"

Материал ориентирован на тех, кто начинает изучать нейросети с нуля, но я уверена, что и опытные профессионалы тоже найдут здесь кое-что действительно интересное.

Искренне ваша,
Елена Позднякова


P.S.: Рекомендую начать с видео.
Все материалы проекта "На пути к нейросети" здесь.
На youtube в описании к этому видео на канале есть подробный тайминг с переходами в начало каждой темы.
Перейти на канал.

Оглавление:

То, что умеют делать нейросети на современном этапе развития науки, для непосвященных пользователей может показаться просто волшебством: они распознают лица, пишут музыку, управляют беспилотными автомобилями и даже предсказывают будущее.

На достижениях нейронной сети базируется и понятие искусственный интеллект.
Между тем, всё то, что принято сегодня называть модным словом искусственный интеллект, по факту, это нейросети, дополненные обычными алгоритмами. Кроме нейросетей, есть и другие методы машинного обучения, но нейросеть стоит сегодня на первом месте и правит бал.

Интересно то, что сама технология нейросети проста и доступна для понимания любому человеку с обычными школьными знаниями.

Я не программист, но по счастливой случайности столкнулась с этой темой и уже несколько месяцев с большим интересом изучаю нейросети.
Возможно, мое не профессиональное объяснение этой темы откроет еще кому-то, кто не является программистом, дорогу в сказочный мир нейронных сетей.

Возможности
нейронных сетей - 2021

1
Распознавание лиц и других объектов
Рекомендую посмотреть:
Выступление системного архитектора Cyber Vision Control Максима Захарова на конференции "ИНДУСТРИЯ 4.0 внедрение машинного зрения, систем производственной видеоаналитики, искусственного интеллекта"

2
Прогнозы, предсказания, диагностика
Нейросеть умеет вычислять сотрудников, которые скоро уволятся. Иногда нейросеть делает предсказание даже раньше, чем сотрудник принял решение об увольнении. Для получения таких прогнозов требуется установить систему поведенческой HR-аналитики. Например, Yva (читается ива).
  • Yva.ai — система поведенческой HR-аналитики на базе ИИ для управления вовлечённостью сотрудников и лидерством в режиме реального времени.
    Yva.ai формирует рекомендации, информационные панели и отчёты на основе анализа цифрового взаимодействия сотрудников в корпоративных системах MS Office 365, MS Teams, G Suite, Slack, Bitrix24, Jira, GitHub.
"Мы создали нейросеть и так её обучили, что она научилась находить изменения в точках корпоративного сотрудничества в период за несколько месяцев до того, как сотрудник увольняется.
Оказывается, мы меняем поведение. Это связано с тем, как быстро мы отвечаем на письма, связано с тем, кому и когда мы пишем, какое количество новых писем, новых тредов переписки мы инициируем, хвалим мы своих коллег или не хвалим, нас хвалят или не хвалят, вверх по иерархии, вниз по иерархии, за пределами компании, внутри компании. Это граф коммуникаций. Это очень сложно."


Давид Ян, основатель компании.
Источник

3
Создание медиа контента
Видео по теме:

4
Алгоритмы и логика
Рекомендую посмотреть:
Давид Ян, основатель компаний ABBYY и YVA, о программных роботах (Robotic Process Automation)

Общие принципы работы нейронных сетей
с нуля понятным языком

Теория приведена в видео с 19 минуты.
Ссылка на начало.
Часть 2. Теория. Таймкоды из видео. Начало 19:36

О нейронной сети на примере ребенка и жирафа 20:06
Так что такое нейросеть? Функция/Черный ящик 28:33
Про входы и выходы нейросети: как показать нейросети картинку? 30:28
Что такое классы на выходе нейросети 33:49
Как работает не обученная нейросеть 39:30
Оценка точности работы нейронной сети 40:16
Схема нейронной сети, связи 42:00
Архитектуры нейронных сетей 43:16
Схема одного живого нейрона 47:00
Как работает искусственный нейрон 51:22
ЭКСПРЕСС-ВОПРОС: Рассчитать результат нейрона 55:32
ОТВЕТ 56:30
Матрица весов - сердце нейронной сети 58:04
Методы обучения нейронной сети 1:02:21
Подбор весов вручную 1:02:42
Комбинирование обученных нейронов 1:03:10
Дельта метод (с расчетом) 1:03:46
Метод обратного распространения ошибки 1:07:33
Функции активации 1:13:16
Линейная активация 1:13:51
Пороговая активация 1:16:13
Сигмоида 1:20:16
ReLU - королева нейросетей 1:30:42
Гиперболический тангенс 1:31:58
Нейрон смещения: как его технически поставить 1:32:37
Смысл: зачем нужен нейрон смещения 1:36:43
Рассчитайте результат, который выдаст нейрон.
Функция активации - линейная.
  • Для просмотра графика функции, кликните мышкой по кружочку слева от названия функции.
    Визуализация графиков выполнена в сервисе GeoGebra

Практика

Детальный разбор, как работает один нейрон (расчеты в Гугл Таблице). Рассматриваемый нейрон решает логические операции: "конъюнкция", "дизъюнкция", "отрицание".
Построение простой нейросети из трех нейронов, которая решает задачу XOR (исключающее ИЛИ).

Задача №1. Логический нейрон (конъюнкция)

Дано:
Один нейрон, два входа: Х1 и Х2.
Каждый вход имеет свой вес: W1 и W2.
Результат сумматора обозначен переменной sum.
Функция активации пороговая: если sum>=1, то результат нейрона 1, иначе 0.

В качестве наборов входных данных передаем комбинации из бинарных значений (1- истина, 0 - ложь).

Задание:
1) Подобрать веса W1 и W2 так, чтобы нейрон всегда выдавал правильный ответ в соответствии с таблицей истинности конъюнкции.
2) Определить условия, которым должны соответствовать правильные веса.
Таблица истинности конъюнкции:
Справочно:
конъюнкция - это логическая операция, результат которой равен ИСТИНА тогда и только тогда, когда оба операнда имеют значение ИСТИНА.
Более подробно о логических операциях в статье "Логика высказываний".
Ответ здесь (видео).

Задача №2. Логический нейрон (дизъюнкция)

Дано:
Один нейрон, два входа: Х1 и Х2.
Каждый вход имеет свой вес: W1 и W2.
Результат сумматора обозначен переменной sum.
Функция активации пороговая: если sum>=1, то результат нейрона 1, иначе 0.

В качестве наборов входных данных передаем комбинации из бинарных значений (1- истина, 0 - ложь).

Задание:
1) Подобрать веса W1 и W2 так, чтобы нейрон всегда выдавал правильный ответ в соответствии с таблицей истинности дизъюнкции.
2) Определить условия, которым должны соответствовать правильные веса.
Таблица истинности дизъюнкции:
Справочно:
дизъюнкция - это логическая операция, результат которой равен ЛОЖЬ тогда и только тогда, когда оба операнда имеют значение ЛОЖЬ.
Более подробно о логических операциях в статье "Логика высказываний".
Ответ здесь (видео).

Задача №3. Логический нейрон (XOR)

Дано:
Один нейрон, два входа: Х1 и Х2.
Каждый вход имеет свой вес: W1 и W2.
Результат сумматора обозначен переменной sum.
Функция активации пороговая: если sum>=1, то результат нейрона 1, иначе 0.

В качестве наборов входных данных передаем комбинации из бинарных значений (1- истина, 0 - ложь).

Задание:
1) Подобрать веса W1 и W2 так, чтобы нейрон всегда выдавал правильный ответ в соответствии с таблицей истинности XOR.
2) Определить условия, которым должны соответствовать правильные веса.
Таблица истинности XOR:
Справочно:
Исключающее ИЛИ, XOR- логический оператор, который истинен для двух переменных тогда и только тогда, когда один из аргументов истинен, а другой — ложен. Смысл: или то, или это, но не оба сразу.
Более подробно о логических операциях в статье "Логика высказываний".
Ответ здесь (видео).

Дополнительно (очень хорошее объяснение про XOR) https://youtu.be/IEVYDZkEBpY

Операцию XOR можно разложить на базовые логические операции: отрицание, конъюнкция, дизъюнкция:

Х1 ⊕ х2 = (¬Х1 ∧ Х2) ∨ (Х1 ∧ ¬Х2)

Читается так:
дизъюнкция двух конъюнкций:
конъюнкции отрицания Х1 и Х2,
конъюнкции Х1 и отрицания Х2.
Замена XOR на базовые функции:
Схема нейронной сети из 3-х нейронов "XOR" (Исключаюшее ИЛИ)

Задача №4. Логический нейрон конъюнкция отрицания X1 и X2

¬X1 ∧ X2
Дано:
Один нейрон, два входа: Х1 и Х2.
Каждый вход имеет свой вес: W1 и W2.
Результат сумматора обозначен переменной sum.
Функция активации пороговая: если sum>=1, то результат нейрона 1, иначе 0.

В качестве наборов входных данных передаем комбинации из бинарных значений (1- истина, 0 - ложь).

Задание:
1) Подобрать веса W1 и W2 так, чтобы нейрон всегда выдавал правильный ответ для выражения ¬X1 ∧ X2.
2) Определить условия, которым должны соответствовать правильные веса.
Таблица истинности ¬X1 ∧ X2:
Справочно:
Отрицание - унарный логический оператор, результатом которого является суждение, противоположное исходному.
Более подробно о логических операциях в статье "Логика высказываний".
Ответ здесь (видео).

Задача №5. Логический нейрон конъюнкция X1 и отрицания X2

X1 ∧ ¬X2
Дано:
Один нейрон, два входа: Х1 и Х2.
Каждый вход имеет свой вес: W1 и W2.
Результат сумматора обозначен переменной sum.
Функция активации пороговая: если sum>=1, то результат нейрона 1, иначе 0.

В качестве наборов входных данных передаем комбинации из бинарных значений (1- истина, 0 - ложь).

Задание:
1) Подобрать веса W1 и W2 так, чтобы нейрон всегда выдавал правильный ответ для выражения X1 ∧ ¬X2.
2) Определить условия, которым должны соответствовать правильные веса.
Таблица истинности X1 ∧ ¬X2:
Более подробно о логических операциях в статье "Логика высказываний".
Ответ здесь (видео).

Задача №6. Нейронная сеть (XOR)

Задание:
1) Составить нейронную сеть, которая решает задачу XOR из базовых нейронов с заранее подобранными весами.
Расчеты выполнить в Гугл Таблице.
Таблица истинности XOR:
Замена XOR на базовые функции:
Схема нейронной сети из 3-х нейронов "XOR" (Исключаюшее ИЛИ)
Ответ здесь (видео).

Ссылка на Гугл Таблицу с ответами ко всем задачам.

Дополнительные материалы и ссылки: