Немного о backpropagation и о том, что нужно знать ML-разработчику. |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-12-16 15:22 Сейчас прохожу обучение в одной компании на должность ML-разработчика, подробнее можно прочитать про начала сего дела тут. То самое следующее задание: реализовать многослойную нейросеть(кол-во слоев и кол-во нейронов в каждом слое, функция активации для каждого слоя задается пользователем), реализовать алгоритм backpropagation(самое сложное) и обучить данную сеть на распознавании рукописных цифр(MNIST — классика), затем составить аналогичную сеть на pytorch, сравнив результаты. Как по мне, лучше всего о методе обратного распространения ошибки рассказано здесь. Но не все так просто! Начнем сначала: 1 шаг — forward pass. Мы идем от входов сети к ее выходам, вычисляем loss(некую функцию потерь, значение которой мы хотим минимизировать путем изменения всех весов нашей сети). 2 шаг — backward pass. Мы идем от выходов ко входам, тем самым «распространяя ошибку»(откуда и взялось название метода). Именно этот обратный проход позволяет нам вывести общую формулу для изменения весов сети. Общая формула такова: w_i = w_i — lr* d(L)/d(w_i), где 3 шаг — weights update по нашей уже выведенной формуле. Тут ничего сложного. Порог вхождения в задание: Сегодня был на встрече с моим «куратором», если так можно выразиться, в этой компании — показал то, что уже реализовал(ноутбук прикреплю в описании). В целом обратная связь была двух характеров: 1 — по поводу решения(его нужно доделать): 2 — некие советы, напутствия по стезе ML(т.е. то, о чем нужно прочитать, то, что нужно знать): Всю эту кухню как только разберу — сразу детально все разжую здесь. По поводу самого метода обратного распространения ошибки — как мне сказал куратор (ну или наставник, сложно классифицировать) — на практике очень часто бывает необходимость вручную реализовать этот метод. Полагаю, в виду того, что используются свои кастомные библиотеки, как минимум. Источник: m.vk.com Комментарии: |
|