Презентация на тему: Введение в нейросети

Реклама. Продолжение ниже
Введение в нейросети
Исторический очерк
Человеческий мозг
Искусственная НС
На пальцах
На пальцах
На пальцах
На пальцах
На пальцах
На пальцах
На пальцах
Нейрон и вес
Функция активации (ФА)
Эпохи и шаги
Ошибка
Формулы
Пример. Инициализация
Пример. Обучение
Пример. Обучение
Пример. Обучение
Пример кода на Python
Пример кода на Python
Пример кода на Python
Персептрон и n- слойные сети
Персептрон и n- слойные сети
Спасибо за внимание!
1/26
Средняя оценка: 4.5/5 (всего оценок: 14)
Код скопирован в буфер обмена
Скачать (3033 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации: Введение в нейросети

Изображение слайда
Изображение для работы со слайдом
1/2
2

Слайд 2: Исторический очерк

Термин «нейронная сеть» появился в середине XX века. Первые работы, в которых были получены основные результаты в данном направлении, были проделаны Мак- Каллоком и Питтсом. В 1943 году ими была разработана компьютерная модель нейронной сети на основе математических алгоритмов и теории деятельности головного мозга. Они выдвинули предположение, что нейроны можно упрощённо рассматривать как устройства, оперирующие двоичными числами, и назвали эту модель «пороговой логикой». Подобно своему биологическому прототипу нейроны Мак- Каллока – Питтса были способны обучаться путём подстройки параметров, описывающих синптическую проводимость. Исследователи предложили конструкцию сети из электронных нейронов и показали, что подобная сеть может выполнять практически любые вообразимые числовые или логические операции. Мак- Каллок и Питтс предположили, что такая сеть в состоянии также обучаться, распознавать образы, обобщать, т. е. обладает всеми чертами интеллекта. Источник: https:// neuronus.com /history/5-istoriya-nejronnykh-setej.html

Изображение слайда
1/1
3

Слайд 3: Человеческий мозг

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
4

Слайд 4: Искусственная НС

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
5

Слайд 5: На пальцах

Источник: https:// habr.com /post/416211/ Предположим, у нас есть три разных бинарных условия (да или нет) и одно бинарное решение на выходе (да или нет):

Изображение слайда
Изображение для работы со слайдом
1/2
6

Слайд 6: На пальцах

Простая модель с тремя вводными и одним выводом. Эта модель может абсолютно отлично работать для разных людей и выдавать им разные результаты, в зависимости от того, как они обучили нейронную сеть. Источник: https:// habr.com /post/416211/

Изображение слайда
Изображение для работы со слайдом
1/2
7

Слайд 7: На пальцах

То, что вы видите между вводом и выводом — это нейроны. Пока что они ни с чем не связаны, но это и отражает их главную особенность, о которой все забывают сказать: они — это полностью абстрактны. Источник: https:// habr.com /post/416211/

Изображение слайда
Изображение для работы со слайдом
1/2
Реклама. Продолжение ниже
8

Слайд 8: На пальцах

У каждого ввода слева есть значение: 0 или 1, да или нет. Давайте добавим эти значения вводу, предположим, что на вечеринке не будет водки, будут друзья да будет идти дождь: Источник: https:// habr.com /post/416211/

Изображение слайда
Изображение для работы со слайдом
1/2
9

Слайд 9: На пальцах

Цифры, которые мы расставили — это веса связей. Помните, что нейроны — это абстракция? Так вот, связи — это именно то, из чего и состоит нейронная сеть. Источник: https:// habr.com /post/416211/

Изображение слайда
Изображение для работы со слайдом
1/2
10

Слайд 10: На пальцах

Ну, вот и все! Нейронка создана, а вы можете ее использовать для любых нужд. Если сумма получается больше 0.5 — идти на вечеринку нужно. Если меньше или равно — на вечеринку идти не нужно. Спасибо за внимание! Источник: https:// habr.com /post/416211/

Изображение слайда
Изображение для работы со слайдом
1/2
11

Слайд 11: На пальцах

Дальше все просто: вместо одного слоя нейронов мы делаем два и снова все перебираем по точно тем же самым принципам, только уже все нейроны отдают значения другим нейронам. Если сначала у нас было только 3 связи, то теперь 3 + 9 связей с весами. А потом три слоя, четыре, рекурсивные слои, зацикленные на себе и тому подобная дичь: Источник: https:// habr.com /post/416211/

Изображение слайда
Изображение для работы со слайдом
1/2
12

Слайд 12: Нейрон и вес

Источник: https:// habr.com /post/312450/

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/4
13

Слайд 13: Функция активации (ФА)

Источник: https:// habr.com /post/312450/ Линейная функция Сигмоид Гиперболический тангенс

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/4
14

Слайд 14: Эпохи и шаги

Источник: https:// habr.com /post/416211/ Итерация Это своеобразный счетчик, который увеличивается каждый раз, когда нейронная сеть проходит один тренировочный сет. Другими словами, это общее количество тренировочных сетов пройденных нейронной сетью. Эпоха При инициализации нейронной сети эта величина устанавливается в 0 и имеет потолок, задаваемый вручную. Чем больше эпоха, тем лучше натренирована сеть и соответственно, ее результат. Эпоха увеличивается каждый раз, когда мы проходим весь набор тренировочных сетов, в нашем случае, 4 сетов или 4 итераций.

Изображение слайда
Изображение для работы со слайдом
1/2
Реклама. Продолжение ниже
15

Слайд 15: Ошибка

Источник: https:// habr.com /post/416211/ Ошибка — это процентная величина, отражающая расхождение между ожидаемым и полученным ответами. Ошибка формируется каждую эпоху и должна идти на спад. Если этого не происходит, значит, вы что-то делаете не так. Ошибку можно вычислить разными путями, но мы рассмотрим лишь три основных способа: Mean Squared Error ( далее MSE), Root MSE и Arctan. MSE Root MSE Arctan

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/4
16

Слайд 16: Формулы

Расчет входа нейрона Правило Видроу-Хоффа для пересчета весов net = – коэффициент обучения, – ошибка, net – сетевой вход

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/6
17

Слайд 17: Пример. Инициализация

Выбираем задачу (Например логическое ИЛИ) Проектируем НС Выбираем случайные веса = 0 4. Выбираем коэффициент обучения [0, 1] = 0.3 5. Строим таблицу истинности t ( OR ) 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 6. Выбираем ФА (например пороговую) Сетевой выход: Ошибка: = |t – y|

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/13
18

Слайд 18: Пример. Обучение

ЭПОХА I Итерация 1 = 0, = 0, w = [0, 0] + , t = 0, = 0 Ошибки НЕТ Итерация 2 = 0, = 1, w = [0, 0] + , t = 1, = 1 ОШИБКА Пересчитываем веса t ( OR ) 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 Сетевой выход: Ошибка: = |t – y| Итерация 3 = 1, = 0, w = [0, 0.3 ] + , t = 1, = 1 ОШИБКА Пересчитываем веса Итерация 4 = 1, = 1, w = [0.3, 0.3 ] +.6 , t = 1, = 0 Ошибки НЕТ error 0 0 No 0 1 Yes 0 1 Yes 1 1 No error 0 0 No 0 1 Yes 0 1 Yes 1 1 No

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/6
19

Слайд 19: Пример. Обучение

ЭПОХА II Итерация 1 = 0, = 0, w = [0.3, 0.3 ] + , t = 0, = 0 Ошибки НЕТ Итерация 2 = 0, = 1, w = [0.3, 0.3 ] + , t = 1, = 1 ОШИБКА Пересчитываем веса t ( OR ) 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 Сетевой выход: Ошибка: = |t – y| Итерация 3 = 1, = 0, w = [0.3, 0. 6] + , t = 1, = 1 ОШИБКА Пересчитываем веса Итерация 4 = 1, = 1, w = [0. 6, 0. 6] + , t = 1, = 0 Ошибки НЕТ error 0 0 No 0 1 Yes 0 1 Yes 1 1 No error 0 0 No 0 1 Yes 0 1 Yes 1 1 No

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/6
20

Слайд 20: Пример. Обучение

ЭПОХА III Итерация 1 = 0, = 0, w = [0.6, 0. 6] + , t = 0, = 0 Ошибки НЕТ Итерация 2 = 0, = 1, w = [0.6, 0. 6] + , t = 1, = 0 Ошибки НЕТ t ( OR ) 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 Сетевой выход: Ошибка: = |t – y| Итерация 3 = 1, = 0, w = [0. 6, 0. 6] + , t = 1, = 0 Ошибки НЕТ Итерация 4 = 1, = 1, w = [0. 6, 0. 6] + , t = 1, = 0 Ошибки НЕТ error 0 0 No 0 0 No 0 0 No 1 1 No error 0 0 No 0 0 No 0 0 No 1 1 No Обучение завершено!

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/6
21

Слайд 21: Пример кода на Python

import numpy as np def generate_vectors (): from itertools import product as p return (p( range ( 2 ), repeat = 2 )) def f (x): return (x[ 0 ] or x[ 1 ]) x_vectors = generate_vectors () t_vector = np.array ([f(x) for x in x_vectors ]) x_vectors = generate_vectors () nu = 0.3 weight = np.array ([ 0., 0. ]) epoch = 1 error = 1

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
22

Слайд 22: Пример кода на Python

while error != 0 : x_vectors = generate_vectors () print ( f' \n *************** epoch {epoch} ***************' ) print ( f'weight = {weight}' ) print ( f'_____________________________________________' ) error = 0 for i, x_vec in enumerate ( x_vectors ): net = sum ( x_vec [j]*weight[j] for j in range ( 2 )) if net >= 0.5 : y = 1 else : y = 0 delta = t_vector [ i ] - y err = t_vector [ i ] - net print ( f'| net = {net:.3f} | y = {y}| t = { t_vector [ i ]} | err = { abs (err):.3f} |' ) if delta != 0 : error += 1 weight = [weight[j] + nu * abs (err) * x_vec [j] for j in range ( 2 )] epoch += 1 print ( f'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯' ) print ( f'{error} errors \n ' )

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
23

Слайд 23: Пример кода на Python

*************** epoch 1 *************** weight = [0. 0.] _____________________________________________ | net = 0.000 | y = 0| t = 0 | err = 0.000 | | net = 0.000 | y = 0| t = 1 | err = 1.000 | | net = 0.000 | y = 0| t = 1 | err = 1.000 | | net = 0.600 | y = 1| t = 1 | err = 0.400 | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 2 errors *************** epoch 2 *************** weight = [0.3, 0.3] _____________________________________________ | net = 0.000 | y = 0| t = 0 | err = 0.000 | | net = 0.300 | y = 0| t = 1 | err = 0.700 | | net = 0.300 | y = 0| t = 1 | err = 0.700 | | net = 1.020 | y = 1| t = 1 | err = 0.020 | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 2 errors *************** epoch 3 *************** weight = [0.51, 0.51] _____________________________________________ | net = 0.000 | y = 0| t = 0 | err = 0.000 | | net = 0.510 | y = 1| t = 1 | err = 0.490 | | net = 0.510 | y = 1| t = 1 | err = 0.490 | | net = 1.020 | y = 1| t = 1 | err = 0.020 | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 0 errors

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
24

Слайд 24: Персептрон и n- слойные сети

Источник: https:// habr.com /post/312450/

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
25

Слайд 25: Персептрон и n- слойные сети

Источник: https:// habr.com /post/312450/

Изображение слайда
Изображение для работы со слайдом
1/2
26

Последний слайд презентации: Введение в нейросети: Спасибо за внимание!

Изображение слайда
Изображение для работы со слайдом
1/2
Реклама. Продолжение ниже