сети
ПОШАГОВОЕ СОЗДАНИЕ С
ПРАКТИЧЕСКИМИ
ПРИМЕРАМИ
01
Нейронные сети
Что это такое
• Это последовательность нейронов,
Нейронные сети соединенных между собой синапсами.
Структура нейронной сети пришла в мир
• математическая модель, а также её
программирования прямиком из
программное или аппаратное
биологии. Благодаря такой структуре,
воплощение, построенная по принципу
машина обретает способность
организации и функционирования
анализировать и даже запоминать
биологических нейронных сетей — сетей
различную информацию.
нервных клеток живого организма.
• Нейронные сети также способны не
только анализировать входящую
информацию, но и воспроизводить ее из
02 своей памяти.
КЛАССИФИКАЦИЯ
ПРЕДСКАЗАНИЕ
Возможность предсказывать следующий шаг.
Например, рост или падение акций, основываясь на
ситуации на фондовом рынке.
РАСПОЗНАВАНИЕ
В настоящее время, самое широкое применение
нейронных сетей. Используется в Google, когда вы
ищете фото или в камерах телефонов, когда оно
определяет положение вашего лица и выделяет его и
03
многое другое.
Нейронные сети
ИДЕЯ ОБЧУЕНИЯ
Это значит, что в случае успешного обучения сеть сможет вернуть верный
результат на основании данных, которые отсутствовали в обучающей
04 выборке, а также неполных и/или «зашумленных», частично искажённых
данных.
TensorFlow
Что это
05
TensorFlow
ПРИМЕНЕНИЕ
07
ВХОДНЫЕ ДАННЫЕ
Сеть собирает информацию информацию из источника
(например, фото с вебкамеры)
ОБУЧЕНИЕ СЕТИ
Сеть собирает датасеты, чтобы установить
закономерность на собранных снимках и обрабатывает
данные
РЕАКЦИЯ
Устанавливается реакция ИИ при получении данных,
схожих с собранным датасетом
ВЫВОД РЕЗУЛЬТАТА
При получении данных система выдает результат в
соответствии с "тренировкой"
08 ПРИНЦИП РАБОТЫ
НА БАЗЕ БИБЛИОТЕКИ
ПОДГОТОВКА К РАБОТЕ
10
Настройка
Windows для работы с TensorFlow
2.
• Вводим команду
• Проверим работоспособность
библиотеки, последовательно
вводя команды. При успешной
работе на экране будет фраза
"Hello, TensorFlow"
12
НА БАЗЕ БИБЛИОТЕКИ
ДОБАВЛЯЕМ КЛАССИФИКАТОР
13
TensorFlow
Классификатор
14
НА БАЗЕ БИБЛИОТЕКИ
Набор данных нужен для обучения нейронной сети. Это входные данные, на
основе которых нейронная сеть учится понимать, в нашем примере, какой
цветок расположен на картинке.
15
TensorFlow
Датасет
16
НА БАЗЕ БИБЛИОТЕКИ
ПЕРЕОБУЧАЕМ МОДЕЛЬ
17
1.
TensorFlow
Обучение модели
• Переходим в папку с
классификатором. Можно
воспользоваться командой
терминала.
• Запускаем процесс обучения
18
Что в команде:
RETRAIN.PY
название Python-скрипта, который отвечает за
запуск процесса обучения нейронной сети.
OUTPUT_GRAPH
создаёт новый файл с графом данных. Он и будет
использоваться для определения того, что
находится на картинке.
OUTPUT_LABELS
создание нового файла с метками. В нашем
примере это ромашки, подсолнухи, одуванчики,
тюльпаны или розы.
IMAGE_DIR
19
путь к папке, в которой находятся изображения с
цветами.
TensorFlow
Программа начнет создавать фалйы
bottleneck - текстовые файлы с
информацией об изображении.
ТЕСТИРОВАНИЕ
22
TensorFlow
• Выберите любое изображение
цветка, которое нужно
проанализировать, и поместите
его в папку с нейронной сетью.
• Назовите файл image.jpg.
• Для запуска анализа нужно ввести
команду
• Нейросеть проверит картинку на
соответствие одному из лейблов и
выдаст результат с оценкой
24
TensorFlow
Для создания датасета с фотографиями
предпринимателей можно
воспользоваться расширением для
Chrome, которое сохраняет все картинки
на странице.
27
Создание сервера с
Ubuntu
Нам понадобится сервер с операционной системой Ubuntu. Её
можно установить самостоятельно, либо — если арендован 28
сервер — через техподдержку компании.
На сервере
1.
• Установка Python
• Установка TensorFlow
• Скачиваем классификатор и
2.
набор данных как в шагах 1 и 2
на сервер.
python3 scripts/retrain.py --output_graph=tf_files/retrained_graph.pb
• Переобучаем модель
3. --output_labels=tf_files/retrained_labels.txt --image_dir=tf_files/flower_photos
• Тестируем нейросеть
4.
Ваша нейросеть
готова
30
BRAIN.JS
Практическое
применение
нейронной сети
Brain.JS
31
Что сделаем?
BRAIN.JS 33
Brain.JS
ОСОБЕННОСТЬ
CPU
GPU
СОЗДАЁМ
'название нейросети' = new brain.NeuralNetwork();
Начинаем?
ЗАПОЛНЯЕМ
Создаём массив вида: [вход, выход]
ТРЕНИРУЕМ
net.train ('массив данных', {'настройки тренировки'});
ИСПОЛЬЗУЕМ
result = brain.likely('входные данные', 'нейросеть');
35 BRAIN.JS
net.run(input);
Пример массива данных для
тренировки нейросети
BRAIN.JS 36
Тренируем
CREATIVE PORTFOLIO 37
Распознование
рукописного
ввода
BRAIN.JS 38
Как видит
компьютер?
Где у него глаза? И как он их
использует?
BRAIN.JS 39
Сферы
использования
ИСКУСТВЕННЫЙ ИНТЕЛЛЕКТ
Главный элемент моделирования ИИ с
помощью вычислений
МАТЕМАТИКА
Решение сложных задач с огромным
количеством параметром и
переменных
ПРИКЛАДНЫЕ ЗАДАЧИ
Распознавание изображения, текста, CREATIVE PORTFOLIO 45
прогнозирование, анализ и т.п.
В чем главный плюс?
Огромная вычислительная мощь, возможность автоматизации
иных процессов и огромнейший потенциал 46
Спасибо за
внимание
"Я думаю, что наш разум — это программа,
в то время как мозг — аналог компьютера. "
Стивен Хокинг
47