На пути к нейросети

Изучаем нейросети с нуля без навыков программирования
10 февраля 2021 г, автор: Елена Позднякова
Материалы проекта:
1

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

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

Знакомьтесь, нейросеть:
Статья является дополнением к видео, в ней приведены все ссылки, а также задания из практической части (с ответами).
Дополнительное видео по теме: бесплатные сервисы для создания контента с помощью нейросетей: озвучка, музыка, текст, котики:

2

Тема 2. Модель одного нейрона

Пишем один нейрон с нуля без навыков программирования (и заодно учим JavaScript).
Функционал нейрона: базовые логические операции (конъюнкция, дизъюнкция, отрицание).
Язык: JavaScript (знание не требуется, в процессе всё объясню).
Программа для написания кода: обычный блокнот. Выполнение команд: любой браузер.
Обучение нейрона: дельта метод.
Из комментариев к видео:
Роман:
Как это можно применять на практике? Например? Как самообразование, да согласен.
Финвер:
Спасибо за вопрос! Думаю, многие подписчики моего канала тоже хотели бы его задать.
Да, для саморазвития, но, возможно, это пригодится и в профессии. Многие бухгалтеры и экономисты любят работать в Excel или Гугл Таблицах, владеют макросами, пишут достаточно сложные сценарии, но при этом они даже не задумываются, что можно немножко изучить программирование и получить еще более потрясающие возможности и инструменты.

Самые популярные языки программирования на сегодня - это Python и JavaScript.

В этом видео можно поюзать JavaScript с нуля. Даже если не планировать погружение в нейросети, JavsScript всё равно может пригодиться, потому что он - основа языка Google Apps Script. (с помощью которого можно автоматизировать работу всех сервисов Гугл: почты, календаря, документов, таблиц). Если интересно, на моем втором канале есть целый плейлист про Google Apps Script: https://www.youtube.com/playlist?list=PLdrr4Lm_myAs2IRAY8t8SXoxPmeq-7X3i

Возвращаюсь к нейросетям. Владение нейросетями дает безграничные возможности в обработке данных, а тема "возможности одного нейрона" - это как первый шаг на пути. Для тех, кто заинтересуется нейросетями в дальнейшем будет более актуален язык Пайтон. Кстати, есть видос где можно так же легко попробовать Python с нуля, ничего не устанавливая: Google Colab - блокнот для программиста Python (обзор с нуля) https://youtu.be/rt4806DzfUY
Свернуть
Лиза:
Елена, спасибо большое за очередное видео!!! Конечно на языке javascript понимание дается уже сложнее)) Но попробую разобраться. То, что вы показали в видео, я сделала, буду приступать к заданиям для самостоятельной работы))

У меня есть 2 вопроса:
1. Зачем мы объявили константу n? без нее все также работает)
2. Можно ли обойтись без условной конструкции для расчета новых весов: if (errS!=0){ w[0] = w[0] + d*t*trainingSet[i][0]; w[1] = w[1] + d*t*trainingSet[i][1];
...
а просто оставить выполнение корректировки, ведь при d=0 новое значение весов будет равно старому?
Финвер:
Спасибо большое за комментарий! Все верно, константа n не использовалась пока. Если входов на нейрон будет больше, то такую константу удобно использовать в циклах: 1) инициализация начальных весов 2) изменение весов в процессе обучения нейрона (мы пока упростили и обошлись без лишних циклов), а насчет условной конструкции, я даже не подумала, что можно без нее обойтись...
И правда, можно!
Статья - дополнение к видео:
Дополнительная статья для тех, кто заинтересовался программированием (делала для своей подруги Насти):

3

Тема 3. Один нейрон в координатной плоскости.

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

"Координатная плоскость разделена с помощью прямой на 2 части. Мы передаем нейрону координаты любой точки на плоскости (х, у), а нейрон должен определить к какой из 2 частей плоскости относится заданная точка."

Алгоритм нейрона мы будем писать на языке программирования Javascript. Но в данном случае для нас первостепенное значение имеет не язык программирования, а сама модель этой задачи.

Подобный алгоритм можно написать НА ЛЮБОМ ЯЗЫКЕ. Если вы программист и пишете на Python или Java или на чем-то еще, то вы можете для создания этой модели использовать свой язык, с которым работаете. Для новичков и не программистов я объясняю на Javascript. Все конструкции языка объясняю С НУЛЯ, поэтому никаких стартовых знаний не требуется.
Статья является дополнением к видео, в ней приведены все ссылки, а также задания для самостоятельной работы.

Тема 4.Универсальная нейросеть на JavaScript

Друзья! Пока опубликована только статья с кодом. Видео будет позже.
Друзья, на связи Елена Позднякова! Сегодня 01.12.2022 и пока проект на паузе. В дальнейшем планирую продолжать (но пока не знаю, когда найду свободное время).

Напоминаю, что для новых выпусков "На пути к нейросети" я создала отдельный ютуб канал https://www.youtube.com/@user-vl7vg4pl7l
и телеграм канал https://t.me/na_puti_k_nejroseti

ВСЕ ОПУБЛИКОВАННЫЕ МАТЕРИАЛЫ ПРОЕКТА МОЖНО НАЙТИ ЗДЕСЬ, на этой странице https://megabyte.ga/na-puti-k-nejroseti

Что рекомендую изучить бесплатно по нейросетям и программированию:

1. В первую очередь - язык программирования Python! Без него в нейросетях никуда! Это базовое знание, которое должно быть. Здесь могу порекомендовать лучшее - бесплатный курс от Сергея Балакирева "Добрый, добрый python" https://stepik.org/100707 Сама изучаю этот курс: всё доступно, понятно и идеально изложено, плюс много практики. Курс бесплатный.

2. Курс от МФТИ по нейросетям (я его прошла осенью 2021) https://stepik.org/101721
Это сложный курс, на него требуется выделять очень много времени, но курс того стоит. К примеру, в качестве итогового проекта я делала нейросеть по распознаванию лиц. Эта нейросеть принимает ВСЕГО ОДНО фото человека и после этого узнает его всегда. Это очень круто! Курс бесплатный. Программу можно посмотреть по ссылке. Рекомендую!

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