[Машинное обучение] Deep Learning: как это работает? Часть 1
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В этой статье вы узнаете
-В чем суть глубокого обучения
-Для чего нужны функции активации
-Что такое FCNN
-Какие задачи может решать FCNN
-Каковы недостатки FCNN и с помощью чего с ними бороться
Небольшое вступление
Это начало цикла статей о том, какие задачи есть в DL, сети, архитектуры, принципы работы, как решаются те или иные задачи и почему одно лучше другого.
Какие предварительные навыки для понимания всего нужны? Сказать сложно, но если вы умеете гуглить или правильно задавать вопросы, то, я уверен, мой цикл статей поможет разобраться во многом.
В чем вообще суть глубокого обучения?
Суть в том, чтобы построить некий алгоритм, который принимал бы на вход X и предсказывал Y. Если мы пишем алгоритм Евклида для поиска НОД, то мы просто напишем циклы, условия, присваивания и вот это вот все — мы знаем как построить такой алгоритм. А как построить алгоритм, который на вход принимает изображение и говорит собака там или кошка? Или вовсе ничего? А алгоритм, на вход которого мы подаем текст и хотим узнать — какого он жанра? Вот так просто ручками написать циклы и условия тут не выйдет — тут на помощь и приходят нейронные сети, глубокое обучение и все вот эти модные слова.
Более формально и чуть-чуть о функциях активации
Выражаясь формально, мы хотим построить функцию от функции от функции…от входного параметра X и весов нашей сети W, которая выдавала бы нам некий результат. Тут важно отметить, что мы не можем взять просто много линейных функций, т.к. суперпозиция линейных функций — линейная функция. Тогда любая глубокая сеть аналогична сети с двумя слоями (входом и выходом). Для чего нам нелинейность? Наши параметры, которые мы хотим научиться предсказывать, могут нелинейно зависеть от входных данных. Нелинейность достигается путем использования различных функций активаций на каждом слое.
Fully-connected neural networks(FCNN)
Просто полносвязная нейронная сеть. Выглядит как-то так:
Суть в том, что каждый нейрон одного слоя связан с каждым нейроном следующего и предыдущего (если они есть).
Первый слой — входной. Например, если мы хотим подать изображение 256x256x3 на вход такой сети, то ровно 256x256x3 нейронов во входном слое нам и понадобится (каждый нейрон будет принимать 1 компоненту (R, G или B) пикселя). Если хотим подать рост человека, его вес и еще 23 признака, то понадобится 25 нейронов во входном слое. Кол-во нейронов на выходе — кол-во признаков, которые мы хотим предсказать. Это может быть как 1 признак, так и все 100. В общем случае по выходному слою сети можно почти наверняка сказать — какую задачу она решает.
Каждая связь между нейронами — вес, который тренируется алгоритмом backpropagation, о котором я писал тут.
Какие задачи может решать FCNN
-Задача регрессии. Например, предсказание стоимости магазина по каким-то входным критериям типа страны, города, улицы, проходимости и т.п.
-Задача классификации. Например, классика — MNIST classification.
-Насчет задачи сегментации и обнаружения объектов с помощью FCNN я сказать не возьмусь. Быть может, кто-то поделится в комментариях :)
Недостатки FCNN
- Нейроны одного слоя не имеют «общей» информации (все веса в сети уникальны).
- Огромное кол-во обучаемых параметров (весов), если мы хотим обучать сеть на фотографиях.
Что делать с этими недостатками? Convolutional Neural Networks(CNN) — все верно. Об этом и будет моя следующая статья.
Заключение
Особо долго останавливаться на полносвязных нейронных сетях я не вижу особого смысла. Если кому интересна сама реализация таких сетей, то вот тут можно посмотреть и почитать о моей реализации.
===========
Источник:
habr.com
===========
Похожие новости:
- [Алгоритмы, Будущее здесь, Машинное обучение, Транспорт] Беспилотный комбайн Ростсельмаш для сбора бутылок?
- [Машинное обучение, MySQL, Python] Machine Learning CPython library 'VKF'
- [Python, SQL, Аналитика мобильных приложений, Машинное обучение] Бесплатная Академия Аналитиков Авито для начинающих
- [Машинное обучение, MySQL, Python] CPython библиотека «ВКФ» для машинного обучения
- [Искусственный интеллект, Машинное обучение, Обработка изображений] Как мы контролируем качество моделей для детектирования объектов на изображениях
- [Big Data, Data Mining, Машинное обучение, Разработка под e-commerce] Лучшие data-продукты рождаются в полях
- [Искусственный интеллект, Квантовые технологии] На пороге квантового сознания
- [Машинное обучение, Управление проектами, Учебный процесс в IT] Чеклист для проекта по машинному обучению (перевод)
- [Python, Машинное обучение, Искусственный интеллект, TensorFlow] Подборка статей о машинном обучении: кейсы, гайды и исследования за июнь 2020
- [Искусственный интеллект, Машинное обучение, Научно-популярное, Управление сообществом] В сообществе машинного обучения есть проблема токсичности (перевод)
Теги для поиска: #_mashinnoe_obuchenie (Машинное обучение), #_mashinnoe_obuchenie (машинное обучение), #_glubokoe_obuchenie (глубокое обучение), #_kompjuternoe_zrenie (компьютерное зрение), #_mashinnoe_obuchenie (
Машинное обучение
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:04
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В этой статье вы узнаете -В чем суть глубокого обучения -Для чего нужны функции активации -Что такое FCNN -Какие задачи может решать FCNN -Каковы недостатки FCNN и с помощью чего с ними бороться Небольшое вступление Это начало цикла статей о том, какие задачи есть в DL, сети, архитектуры, принципы работы, как решаются те или иные задачи и почему одно лучше другого. Какие предварительные навыки для понимания всего нужны? Сказать сложно, но если вы умеете гуглить или правильно задавать вопросы, то, я уверен, мой цикл статей поможет разобраться во многом. В чем вообще суть глубокого обучения? Суть в том, чтобы построить некий алгоритм, который принимал бы на вход X и предсказывал Y. Если мы пишем алгоритм Евклида для поиска НОД, то мы просто напишем циклы, условия, присваивания и вот это вот все — мы знаем как построить такой алгоритм. А как построить алгоритм, который на вход принимает изображение и говорит собака там или кошка? Или вовсе ничего? А алгоритм, на вход которого мы подаем текст и хотим узнать — какого он жанра? Вот так просто ручками написать циклы и условия тут не выйдет — тут на помощь и приходят нейронные сети, глубокое обучение и все вот эти модные слова. Более формально и чуть-чуть о функциях активации Выражаясь формально, мы хотим построить функцию от функции от функции…от входного параметра X и весов нашей сети W, которая выдавала бы нам некий результат. Тут важно отметить, что мы не можем взять просто много линейных функций, т.к. суперпозиция линейных функций — линейная функция. Тогда любая глубокая сеть аналогична сети с двумя слоями (входом и выходом). Для чего нам нелинейность? Наши параметры, которые мы хотим научиться предсказывать, могут нелинейно зависеть от входных данных. Нелинейность достигается путем использования различных функций активаций на каждом слое. Fully-connected neural networks(FCNN) Просто полносвязная нейронная сеть. Выглядит как-то так: Суть в том, что каждый нейрон одного слоя связан с каждым нейроном следующего и предыдущего (если они есть). Первый слой — входной. Например, если мы хотим подать изображение 256x256x3 на вход такой сети, то ровно 256x256x3 нейронов во входном слое нам и понадобится (каждый нейрон будет принимать 1 компоненту (R, G или B) пикселя). Если хотим подать рост человека, его вес и еще 23 признака, то понадобится 25 нейронов во входном слое. Кол-во нейронов на выходе — кол-во признаков, которые мы хотим предсказать. Это может быть как 1 признак, так и все 100. В общем случае по выходному слою сети можно почти наверняка сказать — какую задачу она решает. Каждая связь между нейронами — вес, который тренируется алгоритмом backpropagation, о котором я писал тут. Какие задачи может решать FCNN -Задача регрессии. Например, предсказание стоимости магазина по каким-то входным критериям типа страны, города, улицы, проходимости и т.п. -Задача классификации. Например, классика — MNIST classification. -Насчет задачи сегментации и обнаружения объектов с помощью FCNN я сказать не возьмусь. Быть может, кто-то поделится в комментариях :) Недостатки FCNN
Что делать с этими недостатками? Convolutional Neural Networks(CNN) — все верно. Об этом и будет моя следующая статья. Заключение Особо долго останавливаться на полносвязных нейронных сетях я не вижу особого смысла. Если кому интересна сама реализация таких сетей, то вот тут можно посмотреть и почитать о моей реализации. =========== Источник: habr.com =========== Похожие новости:
Машинное обучение ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:04
Часовой пояс: UTC + 5