SlideShare a Scribd company logo
Python. Нейросети.
Keras.
Часть 2
Руденко Данил
Backend - разработчик
Немного GOlang
Немного Python (нейросети + аугментация данных)
Немного Embedded
Текущие задачи
- “Удаление” дефектов с фотографий котэ
- Генерирование котиков
Множество видов
нейронных сетей
- Автоэнкодеры, автокодировщики(Autoencoders)
- Генеративные состязательные сети,
порождающие соперничающие сети,
порождающие соревнующиеся сети (Generative
Adversarial Networks, GANs)
Dataset
Cats vs dogs:
https://www.kaggle.com/c/dogs-vs-cats
- Удалим собак из выборки
- Для обучения автоэнкодера преобразуем
к размерности: 224 X 224 X 3
- Для обучения GAN’а преобразуем к
размерности: 32 X 32 X 3
12 500 изображений котов
Keras
Jupyter Notebook и Anaconda
Anaconda
Jupyter
- Разработка
- Документирование
- Выполнение кода
- Сохранение кода
- Экспорт в HTML и PDF
Решим задачу
номер раз
(Убираем дефекты с фотографий котиков)
Автоэнкодеры(AE)
- Сети прямого распространения
- Скрытый слой(слои) - описывает
модель
- Старается восстановить входной
сигнал на выходе
- Учится создавать компактное
описание входных данных
Автоэнкодеры. Матан.
Энкодер - g и декодер - f .
Энкодер переводит входной сигнал в его представление(код): h = g(x), а декодер
восстанавливает сигнал по его коду: x = f(h) .
Автоэнкодер, изменяя f и g, стремится выучить тождественную функцию x =
f(g(x)), минимизируя функционал ошибки: L(x, f(g(x))).
Автоэнкодеры.
Keras.
input_img = Input(shape=(28, 28, 1))
encoding_dim = 49
flat_img = Flatten()(input_img)
encoded = Dense(encoding_dim, activation='relu')(flat_img)
input_encoded = Input(shape=(encoding_dim,))
flat_decoded = Dense(28*28, activation='sigmoid')(input_encoded)
decoded = Reshape((28, 28, 1))(flat_decoded)
encoder = Model(input_img, encoded, name="encoder")
decoder = Model(input_encoded, decoded, name="decoder")
autoencoder = Model(input_img, decoder(encoder(input_img)),
name="autoencoder")
decoded_imgs = decoder.predict(encoded_imgs, batch_size=n)
plot_digits(imgs, decoded_imgs)
Много видов
- Глубокий
- Разреженный
- Сжимающий
- Сверточный
- Шумоподавляющий
Keras blog: https://goo.gl/TSx1yb
Deep learning book: https://goo.gl/oHNZkM
Habr: https://goo.gl/P6J4sf
Конструирование своего автокодировщика
Сложные нелинейные закономерности - больше слоев
Пространственная инвариантность - свертка и пулинг
Убрать дефекты - шумоподавление
Шумоподавляющий(denoising) автоэнкодер
Получает на входе искаженные данные и обучается предсказывать истинные, неискаженные данные
Оригинал с дефектами 9 эпоха обучения 45 эпоха обучения 90 эпоха обучения
Решим задачу
номер два
(Посмотрим как можно нагенерировать котов)
Генеративно-состязательные сети
Оригинальная статья: https://goo.gl/7DkbGw
Идея
Генератор и дискриминатор
UpSampling2D - Keras (Transposed
convolution)
Оригинальная статья: https://goo.gl/y2Cnb1
Как это все работает?
Области применения
- Получение фотореалистичных изображений(дизайн одежды, сцены
компьютерных игр)
- Улучшение изображений(применение в астрономии)
- Подготовка кадров фильмов и мультипликации
- Аугментация изображений
- И многое другое...
Вопросы?

More Related Content

PDF
Нейронные сети и Keras. Часть 1
PDF
CPU Performance in Java.
PDF
Оптимизация производительности Python
PPT
Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014
PDF
Магия в Python: Дескрипторы. Что это?
PDF
Python dict: прошлое, настоящее, будущее
PDF
Красота и изящность стандартной библиотеки Python
PDF
Pyton – пробуем функциональный стиль
Нейронные сети и Keras. Часть 1
CPU Performance in Java.
Оптимизация производительности Python
Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014
Магия в Python: Дескрипторы. Что это?
Python dict: прошлое, настоящее, будущее
Красота и изящность стандартной библиотеки Python
Pyton – пробуем функциональный стиль

What's hot (20)

PDF
20130429 dynamic c_c++_program_analysis-alexey_samsonov
PDF
How to get knowledge and improve it all your professional life long
PDF
JS Fest 2019. Владимир Агафонкин. Быстро по умолчанию: алгоритмическое мышлен...
PDF
SQL Tricky (Иван Фролков)
PPT
Декораторы в Python и их практическое использование
PPT
Производительность в Django
PDF
Магия метаклассов
PDF
Python и его тормоза
PDF
Игорь Кудрин, «Используем неизменяемые данные и создаем качественный код»
PDF
Python + GPGPU
PPTX
OpenACC short review
PDF
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
PDF
Python&Printer / Андрей Пучко / penta.by
PDF
11 встреча — Введение в GPGPU (А. Свириденков)
PDF
Григорий Демченко, “Асинхронность и сопрограммы: обработка данных“
PDF
Лекция 4: Стек. Очередь
PDF
PDF
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...
PDF
Лекция 8. Intel Threading Building Blocks
PDF
Лекция 4. Префиксные деревья (tries, prefix trees)
20130429 dynamic c_c++_program_analysis-alexey_samsonov
How to get knowledge and improve it all your professional life long
JS Fest 2019. Владимир Агафонкин. Быстро по умолчанию: алгоритмическое мышлен...
SQL Tricky (Иван Фролков)
Декораторы в Python и их практическое использование
Производительность в Django
Магия метаклассов
Python и его тормоза
Игорь Кудрин, «Используем неизменяемые данные и создаем качественный код»
Python + GPGPU
OpenACC short review
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Python&Printer / Андрей Пучко / penta.by
11 встреча — Введение в GPGPU (А. Свириденков)
Григорий Демченко, “Асинхронность и сопрограммы: обработка данных“
Лекция 4: Стек. Очередь
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 3...
Лекция 8. Intel Threading Building Blocks
Лекция 4. Префиксные деревья (tries, prefix trees)
Ad

Similar to Нейронные сети и Keras. Часть 2 (20)

PPTX
ADD 2011: Статический анализ Си++ кода
PPTX
Статический анализ Си++ кода
PDF
"Вингардиум Левиоса”. Или основы декларативной магии (Матвеенко Сергей)
PDF
GAE - плюсы/минусы/подводные камни
PDF
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
PDF
Сверхоптимизация кода на Python
PDF
Сверхоптимизация кода на Python
PDF
Лекция #5. Введение в язык программирования Python 3
PPTX
DSLs in Lisp and Clojure
PDF
Продолжаем говорить про арифметику
ODP
Tanki Online — multiplayer 3D-action in browser
PDF
Web осень 2013 лекция 6
PPTX
Автоматизированная разработка генераторов тестовых программ для микропроцессо...
PDF
Лекция 7. Стандарт OpenMP (подолжение)
PDF
Лекция 12. Быстрее, Python, ещё быстрее.
PPTX
Cтрах и ненависть в MongoDB
PDF
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
PDF
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
PDF
Дмитрий Сошников Искусственный интеллект и нейросети для .NET-разработчиков
ODP
Отладка в Erlang, trace/dbg
ADD 2011: Статический анализ Си++ кода
Статический анализ Си++ кода
"Вингардиум Левиоса”. Или основы декларативной магии (Матвеенко Сергей)
GAE - плюсы/минусы/подводные камни
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Сверхоптимизация кода на Python
Сверхоптимизация кода на Python
Лекция #5. Введение в язык программирования Python 3
DSLs in Lisp and Clojure
Продолжаем говорить про арифметику
Tanki Online — multiplayer 3D-action in browser
Web осень 2013 лекция 6
Автоматизированная разработка генераторов тестовых программ для микропроцессо...
Лекция 7. Стандарт OpenMP (подолжение)
Лекция 12. Быстрее, Python, ещё быстрее.
Cтрах и ненависть в MongoDB
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
Дмитрий Сошников Искусственный интеллект и нейросети для .NET-разработчиков
Отладка в Erlang, trace/dbg
Ad

More from PyNSK (20)

PDF
Asyncio для процессинга распределенной базы данных
PDF
Python для GameDev
PDF
Python инструменты для нагрузочного тестирования
PDF
Python, Django и корпоративные информационные системы
PDF
Настрой контент под пользователя!
PDF
Питон в малине
PDF
Мой Python всегда со мной!
PDF
Как и зачем можно создать DSL на Python
PPTX
Чем Python плох для стартапа?
PDF
Во внутренности Kivy
PDF
Зоопарк python веб-фреймворков
PDF
Как Python Дайджест работает с внешней статикой
PDF
Применение behave+webdriver для тестирования Web-проектов
PDF
Ctypes в игровых приложениях на python
PPTX
Python инструменты решения типичных задач
PDF
Мир Python функционалим с помощью библиотек
PDF
JSON-RPC или когда rest неудобен
PDF
TestRail. Некоторые возможности интеграции.
PDF
"Модифицируй это!" или "Больше магии Python с помощью изменения AST"
PDF
Быстрый старт в gDrive API
Asyncio для процессинга распределенной базы данных
Python для GameDev
Python инструменты для нагрузочного тестирования
Python, Django и корпоративные информационные системы
Настрой контент под пользователя!
Питон в малине
Мой Python всегда со мной!
Как и зачем можно создать DSL на Python
Чем Python плох для стартапа?
Во внутренности Kivy
Зоопарк python веб-фреймворков
Как Python Дайджест работает с внешней статикой
Применение behave+webdriver для тестирования Web-проектов
Ctypes в игровых приложениях на python
Python инструменты решения типичных задач
Мир Python функционалим с помощью библиотек
JSON-RPC или когда rest неудобен
TestRail. Некоторые возможности интеграции.
"Модифицируй это!" или "Больше магии Python с помощью изменения AST"
Быстрый старт в gDrive API

Нейронные сети и Keras. Часть 2