6 приложений, использующих глубокое обучение, для начинающих |
||||||||||||||||||||||||||||||||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2017-02-20 20:00 В данной статье представлены 6 приложений, использующих глубокое обучение. Любое из приложений легко реализуется, попробуй сам, и тебе понравится! Введение В последнее время глубокое обучение стало наиболее изучаемым и обсуждаемым предметом в области анализа данных. И данная тема заслуживает внимания, так как некоторые достижения в области анализа данных лежат как рав в области глубокого обучения. Кажется, что в ближайшем будущем приложения глубокого обучения окажут огромное влияние на нашу жизнь. Однако я считаю, что они уже оказывают свое влияние. Тем не менее, если вы уже смотрели на глубокое обучение со стороны, то оно вам могло показаться сложным и пугающим. Такие термины, как TensorFlow, Keras, GPU, основанные на компьютерных вычислениях, могут показаться пугающими. Но позвольте мне рассказать вам секрет – это не сложно! Вам придётся потратить на изучение современного глубокого обучения много времени и усилий, но зато вы с лёгкостью сможете применять полученные знания для решения повседневных задач. Кроме того, это весело. Я вновь почувствовал себя любопытным ребёнком, который открывает для себя что-то новое во время применения глубокого обучения. В данной статье я покажу вам 6 приложений, которые могут показаться сложными, но применяя глубокое обучение, вы менее чем за час сможете написать их. Статье предназначена для того, чтобы объяснить принципиально новые слова и показать их в действии. Давайте начнём! .S. Мы предполагаем, что у вас имеются базовые знания Python. Если нет, то посетите данный туториал, а затем вы сможете снова вернуться к данной статье. Содержание 1. Приложения, использующие современное API
2. Приложения с открытым исходным кодом
3. Другие весьма полезные ресурсы 1. Приложения, использующие современное API Любое API – это не что иное, как программное обеспечение, запущенное на удаленном ПК, к которому можно получить локальный доступ. Например, вы подключаете Bluetooth-динамики к вашему ноутбуку, хотя в него могут быть встроены свои динамики. Таким образом, мы можем получить доступ к нашим динамикам удаленно, находясь за ноутбуком. Любое API работает по схожему принципу – кто-то уже сделал за вас сложную работу, и вы можете использовать это для быстрого решения своих задач. Для более детального ознакомления с API перейдите по ссылке. Я просто составлю список достоинств и недостатков создания приложений, используя API. 1.1.1 Достоинства API для глубокого обучения:
1.1.2 Недостатки API для глубокого обучения:
Если вы хотите узнать больше о том, что же такое API, посетите данный блог. Давайте перейдем к нашему приложению! 1.2 Раскрашиваем фотографии, используя глубокое обучение (Algorithmia API) Автоматическое получение цветного изображения является весьма интересной темой для обсуждения среди сообщества по машинному распознаванию образов. Получение цветной фотографии из черно-белой кажется чем-то фантастическим. Представьте, вы подобрали старый четырёхлетний цветной карандаш и начали раскрашивать им свою раскраску. А сможем ли мы научить нашего искусственного “посредника” делать то же самое и предоставить ему нужное представление вещей? Несомненно, это сложная задача! Связано это с тем, что мы, люди, каждый день “тренируемся”, видя, как выглядят цветные предметы в реальном мире. Вы могли не заметить, но наш мозг запоминает каждый момент нашей жизни и извлекает важную информацию из этого, например, то, что небо голубое, а трава зелёная. В этом и заключается сложность моделирования искусственного “посредника”. Последние исследования показывают, что при достаточном обучении нейронной сети на большом наборе подготовленных данных, мы можем получить модель, которая преобразовывает черно-белое изображение в цветное. Вот пример раскрашивания изображения:
Для практической реализации данного примера мы используем API, разработанное Algorithmia. Требования и спецификации:
Шаг 1: Регистрируемся на Algorithmia и получаем собственный API ключ. Вы можете найти API ключ в своем профиле.
Шаг 2: Устанавливаем algorithmia, вводя Shell
Шаг 3: Выберете фотографию, которую хотите раскрасить, и загрузите её в раздел Data, предусмотренный algorithmia.
Шаг 4: Создайте локальный файл с именем trial.py. Откройте его и напишите код, что представлен ниже. Обратите внимание, что вам нужно указать расположение вашего изображения и ваш API ключ. Python
Шаг 5: Откройте командную строку и запустите ваш код, введя эту команду. Shell
Результат автоматически сохранится в вашем Data разделе. Вот что получилось у меня: Ну вот и все, мы создали простое приложение, которое ведет себя, как ребенок, и может раскрасить изображение! Занимательное задание. 1.3 Создание ChatBot с использованием Watson API. Watson – это отличный пример, показывающий, чего может достичь искусственный “посредник”. Вы могли слышать историю о том, как Watson победил человека в игре-викторине Jeopardy! Несмотря на то, что Watson использует набор различных техник для работы, глубокое обучение является основой процесса обучения, особенно при обработке естественного языка. Для создания разговорной службы, она же chatbot, мы будем использовать одно из многих приложений Watson-a. Сhatbot – это некий “посредник”, который отвечает на распространённые вопросы, как человек. Такие посредники используются если, например, вам нужно своевременно отвечать клиентам на их вопросы. Здесь вы можете посмотреть демонстрацию платформы:
Требования и спецификации:
Давайте посмотрим шаг за шагом, как создать простой chatbot с помощью Watson. Шаг 1: Регистрируемся на Bluemix и активируем аккаунт для получения регистрационных данных.
Шаг 2: Открываем терминал и запускаем команды, как указано ниже: Shell
Шаг 3: Создаем файл trial.py и копируем в него указанный ниже код. Не забудьте указать ваши регистрационные данные. Python
Шаг 4: Сохраните файл и запустите его, введя в консоли эту команду: Shell
В консоли вы получите ответ на тот вопрос, который задали Watson-у. Вопрос: Покажи мне, что находится рядом со мной? Если вы хотите создать более полноценный проект разговорной службы с анимированной автомобильной панелью (как показано на гифке выше), то посетите данный github репозиторий. 1.4 Создание RSS-агрегатора, базирующегося на анализе тональности текста, используя Aylien API. Иногда хочется видеть только хорошие новости, происходящие в мире. Как было бы хорошо, если мы могли бы отфильтровать все плохие новости во время чтения газеты и видеть только “хорошие” новости! С помощью современных технологий обработки естественной речи (одной из которых является глубокое обучение) это все больше и больше становится реальным. В настоящий момент вы можете отфильтровать новости за счет анализа тональности текста и предоставить их читателю. Далее мы рассмотрим и применим Aylien’s News API. Ниже приведены скриншоты демо-версии News API. Вы можете создать свой собственный запрос и посмотреть на полученный результат.
Давайте посмотрим на Python реализацию Требования и спецификации:
Шаг 1: Регистрируемся на сайте Aylien.
Шаг 2: Берем API_key и App_ID из своего профиля после регистрации.
Шаг 3: Устанавливаем Aylien News API с помощью командной строки. Shell
Шаг 4: Создаем файл trial.py и копируем следующий код: Код Python
[свернуть] Шаг 5: Сохраняем файл и запускаем его: Shell
Результатом будет json-дамп, как представлено ниже: Дамп JavaScript
[свернуть] Ого! Теперь я могу предоставить к вашим услугам chatbot, точно такой же сервис, как Alexa, которая читает интересующие вас новости! Я уверен, что вы будете удивлены глубоким обучением прямо сейчас! 2. Приложения с открытым исходным кодом Наилучшим решением, которое прямо сейчас может помочь научному сообществу, являются ресурсы с открытым исходным кодом. В настоящий момент многие исследователи готовы поделиться своими достижениями, что, в свою очередь, способствует развитию глубокого обучения, вследствие чего данная сфера будет расти как на дрожжах. Здесь я приведу примеры проектов с открытым исходным кодом, которые были созданы на основе научных исследований. 2.1.1 Достоинства приложений с открытым исходным кодом:
2.1.2 Недостатки приложений с открытым исходным кодом:
Примечание: Перед тем как начать работу с подобного рода приложениями, я советую начать с их официальных репозиториев. Причиной этому является то, что многие из них находятся в стадии разработки и могут отрицательно повлиять на ваш еще не готовый разум. А теперь давайте посмотрим на несколько подобных приложений! 2.2 Коррекция предложений с помощью глубокого обучения В настоящий момент любая система может с легкостью находить и исправлять ошибки правописания, но исправление грамматических ошибок — задача более сложная. Для облегчения данной задачи мы можем использовать глубокое обучение, чтобы исправлять предложения. Данный репозиторий создан специально для решения данной задачи. У нас имеется нейронная сеть, распознающая последовательности данных, которая была обучена на наборе грамматически неверных предложений и их корректных аналогах. Такая модель показывает многообещающие результаты корректировки предложений. Приведем пример: Ввод: “Kvothe went to market” Ошибка заключается в отсутствии определённого артикля the, необходимость артикля заключается в том, что Kvothe ходил на определённый рынок. Вы можете проверить это, используя данную демоверсию. Модель не идеальна и не может исправить все предложения, однако при большем количестве обучающих данных и эффективных алгоритмах глубокое обучение может значительно улучшить результаты. Требования:
Шаг 1: Устанавливаем TensorFlow с их официального сайта. Также скачиваем репозиторий и сохраняем его у себя на компьютере. Шаг 2: Скачиваем набор данных (Cornell Movie-Dialogs Corpus) и переносим его в свою рабочую директорию. Шаг 3: Создаем обучающие данные, запустив команду. Shell
Также создаем файлы для проверки, тестирования и обучения и сохраняем их в текущей рабочей директории. Шаг 4: Теперь обучаем нашу модель: Shell
Шаг 5: Для обучения требуется время, после можно переходить к тестированию: Shell
2.3 Преобразуем мужские портреты в женские и наоборот, используя глубокое обучение Прежде, чем я что-либо скажу по поводу приложения, просто давайте посмотрим на следующие результаты:
Первое изображение было преобразовано во второе с помощью модели глубокого обучения! Это и вправду веселое приложение, предназначенное для демонстрации возможностей глубокого обучения. Основой приложения является сеть GAN (generative adversarial networks), которая является разновидностью модели глубокого обучения, способной к воспроизведению новых примеров. Требования:
Предупреждение перед тем? как вы начнете делать это. Обучение модели занимает очень много времени, если вы не используете GPU. Даже при использовании высокотехнологичных GPU, например, Nvidia GeForce GTX 1080, процесс обучения занимает 2 часа для одного изображения. Шаг 1: Скачиваем и сохраняем репозиторий. Шаг 2: Скачиваем “Align&Cropped изображения” из набора данных CelebA. Создаем папку “dataset” для набора данных и переносим все изображения в неё. Шаг 3: Обучаем модель. Shell
После тестируем модель на нужном нам изображении. Shell
2.4 Создание бота, использущего метод проб и ошибок, для игры во Flappy Bird Возможно, некоторое время назад вы играли во Flappy Bird. Для тех, кто не знает – это игра, вызывающая сильное привыкание, целью которой является достижение максимального результата путем обхода птичкой препятствий. В данном приложении реализован бот для игры во Flappy Bird с помощью современных методов проб и ошибок. Пример обученного бота:
Требования:
Реализация довольно простая, так как имеются все составляющие. Шаг 1: Скачиваем официальный репозиторий. Шаг 2: Убеждаемся, что установлены все взаимосвязи, после запускаем команду, указанную ниже: Shell
3. Другие весьма полезные ресурсы Мы просмотрели просторы Интернета, чтобы понять возможности глубокого обучения. Каждый день выкладывается множество полезных материалов, которые помогут создать подобные приложения, поэтому не имеет значения, кто первый выложил тот или иной материал! Здесь просто собраны полезные ссылки и ресурсы:
Заключение Я надеюсь, вам было весело при прочтении данной статьи. Я уверен, что данные приложения мотивируют вас. Кто-то из вас знал об этих приложениях, кто-то нет. Если вы работали с данными приложениями, то поделитесь своим опытом. Уверен, что многие читатели определенно хотели бы узнать об этом. А если вы столкнулись с данными приложениями впервые, то обязательно поделитесь полученными впечатлениями. Ссылка на оригинальную статью Источник: proglib.io Комментарии: |
|||||||||||||||||||||||||||||||||