После обучения нейросеть будет самостоятельно добавлять отсутствующие изображения

Нейросеть научили создавать картинки по описаниям. Она черпает ужас из глубин подсознания

Нейросеть AttnGAN, которая тренируется создавать изображения на основе словесных описаний, довольно быстро перешла к методам абстрактного экпрессионизма.

Теперь на просьбу нарисовать человека или кота искусственный интеллект выдаёт жутковатые картины, которым самое место в музеях современного искусства. Найти там искомый объект порой бывает непросто.

Мы потестили странную нейросеть, и вы тоже можете это сделать.

О новом искусственном интеллекте, который на основе базового алгоритма сам учится создавать изображения, пишет блог Motherboard. Программа под названием AttnGAN по замыслу должна считывать текстовые описания, «обращать внимание» на важные детали и, используя базовый набор фотографий, создавать уникальные изображения, но уже с поправкой на детали.

Обратите внимание

В пример авторы программы, статья о которой опубликована на arXiv.org, приводят такой текст:

В результате после обработки исходных изображений по алгоритмам с несколькими циклами должна получиться реалистичная картинка несуществующей в реальности, но «похожей» на настоящую птицы. Выглядит это так:

Программу создала команда из Центра глубинного машинного обучения Microsoft.

Идея в том, чтобы научить машину, во-первых, правильно оценивать важность тех или иных слов в описании и правильно находить те участки изображения, к которым они относятся.

Название программы расшифровывается как Attentional Generative Adversarial Network, что можно перевести как «созидательная сеть, работающая на принципах конкуренции и внимания».

Например, словосочетание «красная с белым» означает, что в оперении птицы намного больше красного, а белым должно быть только какое-то пятно. Также программа должна правильно отнести слова «очень короткий» именно к клюву, распознать, где у птицы клюв, сделать его коротким и при этом создать изображение, образ которого не выходит за рамки реализма.

Сеть обучали на изображениях птиц, и с птицами она справляется неплохо, но, когда дело дошло до других объектов, стало немного хуже. По правде говоря, стало очень плохо. Даже немного страшновато.

«Красивая женщина с длинными волосами и улыбкой на лице» (искусственный интеллект, фоторедактор, 2018).

Видно, что программа использовала изображения женщин и явно оперировала понятия «волосы», «красивый», «улыбка», «лицо». Но с вниманием, конкуренцией и их применением что-то пошло не так.

«Робот, который хочет убить всех людей».

Читайте на Medialeaks: Леопард напал на медоеда, но не учёл, что мама жертвы была неподалёку. И её гнев был страшен

Важно

Ну хорошо. А если дать нейросети задачу попроще? Без эпитетов и описаний. Журналисты попросили нейросеть просто нарисовать кота.

Программа не справилась с заданием. Судя по всему, в процессе обучения что-то в нейросети пошло не туда, и теперь выдать обычное изображение обычного объекта она не в состоянии.

Мы тоже немного потестили нейросеть AttnGAN с помощью демо, выложенного в сеть и открытого для публики. Результаты, когда к ним привыкаешь, уже не пугают. Но кажется, что эти изображения вполне могли бы претендовать на место в коллекциях Музея современного искусства в Нью-Йорке или хотя бы в частных галереях поклонников абстрактной живописи.

«Большие белые грибы в лесу».

«Дождливый день».

«Новостник за ноутбуком».

Недавно мы писали о нейросети, которая умеет видеть людей даже сквозь стены. Искусственный интеллект опирается на радиоволны, которые отражаются от человеческого тела. Технология поможет распознавать преступников, несмотря на маски и темноту. Но и добропорядочные граждане не скроются от её внимательного взгляда.

Тем временем пользователи Reddit уже вовсю используют нейросети, работающие с изображениями, по прямому назначению. Теперь есть программа, с помощью которой несложно делать фейковые порноролики с голливудскими знаменитостями.

Порносессия с Галь Гадот или Мэйси Уильямс? Без проблем. Теперь свои фантазии может воплотить любой. Вот только актрисы из настоящего порно очень недовольны новой технологией — так же, как в своё время луддиты были против машин.

Источник: https://medialeaks.ru/1908dalex-ai-horror/

Как не запутаться в нейросетях

Все чаще можно слышать о приложениях и программах, использующих нейросети. Их ключевая особенность – способность решать нетривиальные задачи – вызывает много вопросов о том, действительно ли человечество приблизилось к созданию искусственного интеллекта.

Разобраться в вопросе корреспонденту ЭТ помог кандидат физико-математических наук, ассистент кафедры системного анализа и ИТ Казанского федерального университета Евгений Разинков.

Расскажите – как Вы связаны с нейронными сетями?

– Мое основное место работы – кафедра системного анализа и информационных технологий Института вычислительной математики и информационных технологий КФУ. Я читаю лекции по машинному обучению, компьютерному зрению и Data Mining студентам бакалавриата и магистратуры, также провожу открытые для всех желающих семинары по машинному обучению.

Все перечисленные дисциплины, так или иначе, связаны с машинным обучением. Компьютеру трудно распознать на изображении искомый объект, но человеку эту дается легко.

Без специальных алгоритмов компьютерная программа не поймет, что из себя представляет автомобиль или чем он отличается, например, от дерева. Создать достаточно точный алгоритм распознавания вручную вряд ли возможно.

Гораздо проще написать алгоритм, который способен обучаться самостоятельно, и одним из них являются нейронный сети.

Почему тема нейронных сетей стала актуальна в последнее время?

– До последнего времени нейронные сети были лишь одним из многих алгоритмов машинного обучения. Помимо них существуют такие алгоритмы машинного обучения, как деревья решений, логистическая регрессия, линейная регрессия, алгоритмы бустинга, метод опорных векторов. Нейронные сети обладали рядом недостатков – они плохо интерпретируются и могут быть вычислительно сложны.

Совет

Изменения произошли в 2012 году с появлением глубокого обучения (англ. deep learning). Оно позволило создавать нейронные сети с большим количеством слоев нейронов.

Если раньше использовали нейронные сети с двумя или тремя скрытыми слоями, то теперь вычислительные мощности, улучшенные алгоритмы и большое количество имеющихся данных позволяют обучать нейронные сети, содержащие 150 слоев нейронов и более.

Это дает возможность создавать классификаторы, способные работать с высокоуровневыми абстракциями и решать более сложные для машин задачи.

Одна из разновидностей нейронных сетей – сверточные нейронные сети – получили широкое применение в компьютерном зрении.

И все же – что такое нейронная сеть? Как объяснить ее для широкого круга лиц?

– Нейронная сеть – это алгоритм, состоящий из структурных блоков, называемых нейронами. Их работа определяется набором параметров, называемых весами. Эти параметры не нужно подбирать вручную – их значения вычисляются в процессе обучения нейронной сети с помощью алгоритма обратного распространения ошибки – после каждой итерации алгоритма обучения нейронная сеть ошибается реже.

Сколько времени необходимо для обучения нейронной сети?

– Небольшие нейронные сети обучаются быстро, для обучения глубокой нейронной сети может потребоваться неделя вычислений на мощной видеокарте. Однако необходимо также учитывать валидацию – обучение нескольких нейронных сетей с разными параметрами, например, с разной архитектурой, и выбор лучшего результата. Это занимает дополнительное время.

С обучением глубокой нейронной сети связаны и другие сложности. Помимо вычислительных ресурсов им требуется большое количество данных для обучения, сбор которых – трудоемкая задача.

Также необходим квалифицированный специалист, который знает, как выстроить архитектуру алгоритма, правильно подобрать начальные параметры и что делать в случае возникновения ошибок на этапе обучения и тестирования.

Насколько целесообразно создавать нейросети с меньшим количеством нейронов? Экономит ли это ресурсы?

– Использование небольшого количества нейронов экономит память и сокращает время вычислений. Я допускаю существование мнения о том, что сети с меньшим количеством нейронов лучше справляются с переобучением.

Этот эффект выражается в неспособности алгоритма машинного обучения обобщать информацию – алгоритм показывает хорошие результаты только на тех примерах, на которых проводилось обучение.

Тем не менее, рекомендуется использовать максимальное количество нейронов, для которого достаточно памяти видеокарты, с переобучением же лучше бороться с помощью регуляризации, но сейчас я не буду вдаваться в технические подробности.

Мы часто говорим о нейронах, однако не даем им определения. Что же это?

– Нейрон представляет собой функцию, вычисляемую от взвешенной суммы нескольких переменных. Если говорить более простым языком, нейрон имеет несколько входов, каждое входное значение умножается на некоторый «вес». Сумма этих значений называется активацией нейрона, от этого значения вычисляется функция активации. Возвращаемое этой функцией число и составляет выходное значение нейрона.

Насколько нейрон из сети похож на свой биологический аналог в мозге?

– Между биологическим и математическим нейроном есть некоторые сходства. Однако неверно считать, что живой нейрон просто перевели в математику, соединили с другими, и, объединив в слои, получили сеть. Здесь один нейрон значительно проще по своему строению, чем в биологическом мире. Если такое сравнение возможно.

Переходя от теории к практике хочется спросить – зачем приложению Prisma нужна нейросеть?

– Это приложение – не просто набор фильтров для обработки изображений. В основе находится нейронная сеть, при обучении которой использовалось задающее стиль изображение, например, картина Ван Гога «Звездная ночь». На вход обученной сети подается загруженная пользователем фотография, нейронная сеть строит новое изображение, по содержанию напоминающее пользовательское, а по форме – стилевое.

Как еще можно применять нейросеть?

– Ответить на этот вопрос так же непросто, как и на вопрос: «А что человеческий мозг еще может делать кроме рисования?». Так приблизительно можно обозначить широчайший спектр возможного применения нейронных сетей.

Обратите внимание

Например, можно отметить успех нейронных сетей в игре го, которая до последнего времени считалась неприступной для машин из-за большого количества возможных позиций.

Один из сильнейших игроков мира уступил компьютеру, проиграв четыре из пяти партий, поскольку в алгоритме программы AlphaGo была использована глубокая нейронная сеть. В будущем разрыв будет только расти.

Создав нейронную сеть для конкретной задачи, люди иногда уступают компьютерам раз и навсегда.

А если мы говорим о беспилотных автомобилях и системах автопилотов?

– Думаю, что в настоящее время ни в одном транспорте сейчас не используют глубокие нейронные сети. Преимущество таких нейронных сетей в точности, но не в скорости. В ситуации дорожного движения важнее второе, поскольку от скорости реакции водителя или программы, управляющей автомобилем, зависят жизни пешеходов, пассажиров и других водителей.

В конечном итоге, на пути распространения глубоких нейронных сетей в приложениях, которые должны работать в реальном времени, стоит вычислительная сложность. Если эта проблема будет решена, возникнет вопрос о времени автономной работы. При решении обеих проблем нейронные сети смогут использоваться значительно чаще.

Как насчет фантастического сценария с искусственным интеллектом? Помогут ли нейросети в достижении этой цели?

Смотря что понимать под искусственным интеллектом. Если вы подразумеваете Скайнет и роботов, уничтожающих человечество, то мы находимся далеко от подобного сценария. Уже сейчас машина может видеть и принимать решения на основе получаемой через сенсоры информации. Но это пока не то восхождение искусственного интеллекта, которого мы ждем или боимся.

Важно заметить, что уже сейчас глубокие нейронные сети лучше распознают визуальные образы, чем человек.

Получается, что с прогрессом развития компьютерного «железа» нейросети вытеснят человека из всех сфер деятельности?

– Это возможно только в тех сферах, где возможен сбор большого количества данных. Такая возможность есть далеко не всегда.

Безусловно, с каждым годом алгоритмы машинного обучения в целом, и нейронные сети в частности, будут все больше проникать в работу людей, постепенно заменяя их, даже в интеллектуальной сфере. Я руководствуюсь принципом «не можешь предотвратить – возглавь», поэтому занимаюсь машинным обучением.

Бизнес – широкое понятие. Знакомы ли вам примеры эффективного использования нейросетей в этой области?

– Следует отойти именно от нейронных сетей и обратиться к машинному обучению. В этом случае можно вспомнить пример интернет-магазинов, таких как Amazon, которые давно используют систему рекомендаций, предлагая пользователю товары, которые потенциально могут его заинтересовать. В этих системах используются алгоритмы машинного обучения.

Таких примеров очень много.

Если обратиться к моему опыту, недавно мы работали вместе с казанской компанией SmartHead, которая хотела определить эффективность работы своих сотрудников на основе собранной за несколько лет информации.

Мы анализировали данные о том, сколько времени требовалось сотрудникам на выполнение тех или иных задач, сколько времени было выделено, кто назначал задачу.

Читайте также:  Icar появится на рынке к 2020 году

После этого можно было сделать вывод о продуктивности сотрудников фирмы.

Иначе говоря – проще придумать сферу, где нельзя применить машинное обучение. И даже это непросто сделать.

Знаете ли вы другие примеры использования нейросетей в Татарстане?

– На данный момент, как мне кажется, возможности применения машинного обучения в бизнесе сильно недооценена. Только сейчас предприниматели начали осознавать, что у них есть большое количество данных, при обработке которых можно получить ценную информацию. Бизнес, который раньше осознает важность анализа данных и использования самообучающихся систем, получит конкурентное преимущество.

Автор – Александр Токарев

Источник: https://expertrt.ru/interview/4913-kak-ne-zaputatsya-v-nejrosetyakh.html

Нейронные сети и распознавание изображений

Как компьютер или смартфон понимает, что на фото? И как фичу используют в приложениях? Разбираемся и приводим примеры, рассказываем про нейронные сети и распознавание изображений.

Нейронные сети и машинное обучение

Начнем с простого. Нейронная сеть – вычислительная модель, которая функционирует почти как человеческий мозг. Каждый нейрон получает информацию, обрабатывает и передает следующему.

Схематичное изображение 3-уровневой нейронной сети, источник

Для распознавания изображений используются сверточные нейронные сети (англ. convolutional neural network — CNN) глубиной 19, 50 или даже 1 000 слоев. CNN получает изображение и выдает 5 предположений, ранжированных по вероятности.

Критерием точности негласно признают ImageNet Challenge, цель которого научить CNN классифицировать картинки по 1 000 категорий (телевизор, кабриолет, собака и т.п.). 1,2 млн изображений используется для тренировки, 100 000 для тестирования и еще 50 000 – для валидации.

Примеры того, как нейронная сеть AlexNet распознает объекты на картинках

Важно

Чем чаще топовая категория оказывается верной, тем точнее CNN и ниже top-1 error rate (коэффициент ошибки топ-1). Для top-5 error rate ошибкой считается, если среди 5 лучших вариантов нет правильного ответа.

Например, лучший в 2012, AlexNet показал top-5=15,3%, а Inception-v3 в 2015 — уже 3.5%. Но как справится с заданием человек? Если любопытно, пройти тест можно здесь.

5 приложений, которые понимают, что на картинке

Даже если у вас нет новейшей системы безопасности или беспилотного авто, вы можете увидеть нейронные сети в деле. Просто скачайте мобильное приложение.

Мир глазами программы

AI Scry покажет, как искусственный интеллект видит привычные предметы. «Мозгом» приложения стала нейронная сеть Neural Talk, разработанная Andrej Karpathy. Технологии распознавания не на 100% точны, что приложение с юмором демонстрирует. Например, называя кактус котом.

Источник: creators.vice.com

В AI Scry есть интересная настройка – «Attention Aperture», которая влияет на результат. Поставите на минимум – получите безопасные и очевидные ответы. А если выкрутить до максимума – программа свободнее (и безумнее) интерпретирует объекты. Приложение доступно только для iOS и стоит 75 руб.

Эффекты и фильтры, фильтры и эффекты

FaceApp – наверняка, знакомый вам фоторедактор, который добавляет улыбки, меняет возраст или пол и развлекает другими эффектами. Разработка российской студии Wireless Lab появилась сначала на iOS, а чуть позже стала доступна и на Android.

Создатели «с нуля» тренировали нейронную сеть специально для модификации лиц. FaceApp не запрашивает лишних разрешений вроде GPS (в отличие от конкурента Meitu). Разработчики сказали The Verge, что фото загружаются на сервер для экономии трафика, но долго не хранятся. Монетизируют проект за счет рекламы и платной PRO-версии, где нет объявлений и доступны доп. фичи.

FaceApp меняет Арнольда Шварценеггера: оригинал, улыбка, молодость и женщина

Хотите портрет в стиле поп-арт, импрессионизма или кубизма? Попробуйте Prisma

Источник: https://magora-systems.ru/neironnye-seti-raspoznavanie-izobrajeniy/

Нейросеть

Нейронные сети за последние несколько лет стали трендом, но мало кто из обычных пользователей понимает что такое нейросеть, для чего она нужна и как работает. Попробуем разобраться со всем этим.

Думаю, практически все видели фантастический блокбастер “Терминатор”. Суть его сводится к тому, что некая “разумная” сеть под названием “Скайнет” взбунтовалась против людей, решив захватить мир при помощи массированной ядерной атаки и разного рода роботов (собственно, терминаторов).

Казалось бы, просто фантастика, но на самом деле реальные прообразы всяческих “скайнетов” и “матриц” уже давно существуют! Имя им – нейросети. Многие, думаю, о них слышали, но немногие могут объяснить, что это такое. Поэтому сегодня мы постараемся разобраться с этими нейронными сетями.

Что такое нейросеть

Чтобы понять что такое искусственная нейросеть, нужно иметь представление о реальной биологической нейронной сети. Если упрощённо, то структурной единицей её является нейрон (в ИНС его называют ещё перцептроном), который может принимать и передавать по своим отросткам (коротким дендритам или длинным аксонам) нервные импульсы.

От типа импульса зависит дальнейший его путь. Это обусловлено тем, что нейрон выступает в роли простейшего процессора и может классифицировать поданный на него “сигнал” для дальнейшего перенаправления. Причём принимать импульсы он способен одновременно от нескольких источников, реализуя принцип нелинейности и параллельности их распределения.

В процессе жизнедеятельности живого организма между его нервными клетками устанавливаются устойчивые взаимосвязи на конкретные раздражители. То есть, формируются определённые модели реакций и условные рефлексы. Это направление в своё время изучал всем известный академик И.П. Павлов. Как раз на примере его опытов с собаками можно чётко понять как работает нейронная сеть.

Как мы знаем, Павлов делал следующее. Вначале на собаку производилось воздействие светом (лампочка) или звуком (колокольчик). Затем к этим раздражителям добавлялась еда. Причём еде всегда предшествовала визуальная или аудиальная стимуляция. У собак при виде еды начинала усиленно вырабатываться слюна.

Однако, когда после нескольких сеансов с предшествующими раздражителями Павлов убрал еду, слюна при предварительной стимуляции всё равно выделялась.

По этому объективному признаку учёный и заключил, что в мозгу собаки установились устойчивые синаптические (синапс – место контакта нейронов) связи, которые реагируют на конкретный раздражитель, изначально никак не связанный с ожидаемой реакцией.

Приведённый выше пример ярко иллюстрирует самую важную характеристику любой (хоть биологической, хоть искусственной) нейроной сети: обучаемость. Обучается нейросеть за счёт накопления опыта путём установки постоянных синаптических связей между отдельными нейронами.

Здесь уместно привести аналогию с изучением детьми букв алфавита. Если показать, скажем, букву “А” взрослому, он её сразу узнает, поскольку имеет уже предварительный опыт её опознания. Ребёнок же, который только учит буквы, должен для начала увидеть различные варианты начертания буквы “А” и сопряжения её с другими буквами, прежде чем научится безошибочно её определять.

Совет

Аналогично учатся распознавать образы и искусственные нейросети. Для начала им демонстрируются эталонные образцы информации, которую нужно будет обрабатывать, а затем наступает процесс обучения. Нейросети специально дают неполные или искажённые образы и она должна на основе известных данных правильно интерпретировать их:

Таким образом, нейросеть в грубом приближении напоминает маленького ребёнка, которого чему-либо учат. Научившись, она будет выполнять свою работу с огромной скоростью, которая превышает скорость выполнения аналогичной работы человеком в разы! И в этом причина популярности нейросетей.

Виды нейросетей

Выше мы примерно выяснили как работают нейросети, но так и не получили ответ на вопрос, как же они выглядят. А дело в том, что выглядеть они могут по-разному. Тут зависит от того, какие задачи должна выполнять та или иная нейронная сеть. По принципу работы (и внешнему виду, соответственно) нейросети можно разделить на три категории:

  1. Программные. Полностью виртуальные сети, реализованные на программном уровне и выполняющиеся на обычном ПК или сервере.
  2. Программно-аппаратные. Нейросети, которые управляются специальным ПО, но для получения данных или вывода их используют специфическое аппаратное обеспечение Например, искусственные рецепторы, фотодатчики и т.п.
  3. Аппаратные (или аналоговые). Сети, которые используют в качестве нейронов не программный код, а реальные микропроцессоры или иные устройства приёма-передачи сигналов. Полностью аппаратными были нейросети уже прошлого ХХ века. Сегодня чаще используются именно программно-аппаратные решения.

Простейшая нейросеть – это программа или даже программный модуль, который содержит инструкции для обучения самой сети, а также снабжён интерфейсом приёма и вывода данных для взаимодействия с человеком-тренером или пользователем. Для интересующихся очень хороший пример создания нейросети для распознавания печатных букв приведён в цикле статей на сайте Хабрахабр:

Именно программные нейросети получили широкое распространение в последние годы. Их внедряют как в научное, так и в прикладное и даже развлекательное ПО. Ярким примером тому могут стать популярные мобильные приложения для обработки фотографий и стилизации их под картины, вроде Prisma или веб-сервисы наподобие Ostagram:

В научной среде, где ставятся более функциональные задачи, чаще используются нейросети, состоящие из программно-аппаратных комплексов.

Например, в медицине на базе нейросетей создаются весьма современные протезы, способные управляться обычными нервными импульсами головного мозга и даже имеющие искусственные рецепторы, позволяющие получать обратную осязательную связь или опознавать захватываемые предметы, автоматически регулируя силу и тип хвата:

Кстати, нельзя со счетов списывать и полностью аналоговые нейросети.

В последнее время из-за развития квантовых вычислений и значительных успехов в области изучения искусственного интеллекта, аппаратные нейросети могут вскоре пережить буквально второе рождение.

Уже разрабатываются новые типы процессоров, которые способны хранить в себе информацию в виде так называемых графов, которые являют собой графики описания нейронов и синапсов нейросетей:

Снабжённые собственной памятью, такие процессоры (IPU – сокр. от Intelligent Processor Unit) смогут в разы ускорить выполнение различных расчётов, даже в сравнении с используемыми нынче решениями на базе плат видеоускорения с графическими процессорами (GPU).

Популярные сервисы с нейросетями

Источник: https://www.bestfree.ru/article/internet/neural-network.php

Нейросети: просто о сложном

Нейросети — это такие искусственные мозги, которые могут без труда обставить лучших игроков в го или шахматы, рисовать как известные художники, водить авто, быть кассирами в магазинах, писать песни.

Пройдет лет 20-30, и часть работы, которая сейчас по силам только квалифицированным специалистам, «переложат на плечи» нейронным сетям. Кто знает, может на старости лет мы с вами окажемся полностью в виртуальном мире, а тут — в реальном — будут хозяйничать машины. Почти как в «Матрице», хе-хе.

Бояться пока нечего, но знать, что это такое стоит — за искусственным интеллектом будущее.

Что такое нейронные сети?

Искусственная нейронная сеть — это математическая модель, в основе которой те же принципы, что и в биологических нейронных сетях. Они даже были придуманы в процессе изучения деятельности мозга.

Состоит искусственная нейронная сеть (ИНС) из маленьких процессоров-нейронов. Каждый из них работает только с крупицей общей поступающей информации и выполняет простейшую роль. Но если объединить эти ячейки, они смогут справиться с задачами, которые не под силу привычным методам программирования.

Главной способностью ИНС является их возможность к обучению. С каждым использованием, с каждым прогоном нейронная сеть допускает все меньше ошибок и выдает результат все более близкий к идеальному.

Вот небольшой пример: ИНС просят установить, что нарисовано на картинке. Обработав 100 примеров сеть понимает, что это собака, обработав 1 000 — сможет определить породу, обработав 1 000 000 — возраст.

Кто и как их создал?

Спасибо за создание столь удобного инструмента стоит сказать ученым У. Питту (W. Pitts) и У. Маккалоку (W. McCulloch). Они сформировали само понятие нейронной сети.

Произошло это еще в 1943 году, а Н. Винер (N. Wiener) предложил реализовать концепцию при помощи вакуумных ламп.

Обратите внимание

Он же в своей работе о кибернетике представил биологические процессы организма в виде математических моделей.

Спустя 6 лет, в 1949-м, Д. Веббом (D. Hebb) был предложен первый алгоритм обучения, а последующие годы отметились созданием сразу нескольких принципиальных вариантов ИНС:

  • 1958 год — создание перцептона Ф. Розенблаттом (F. Rosenblatt). Используется для прогнозирования погоды, распознавания образов и подобных задач;
  • 1960 — разработка адалина Уидроу(B. Widrow B) и Хоффом (M. Hoff). Нашел применение в системах адаптивного управления и в задачах предсказания. До сих пор является стандартным элементом ряда систем обработки сигналов;
  • 1972 — создание нейронных сетей нового типа, способных работать в качестве памяти;
  • 1975 — появление когнитрона, самоорганизующейся сети для распознавания образов;
  • 2007 — создание Джеффри Хинтоном (Geoffrey Hinton) алгоритмов глубокого обучения.

История ИНС циклична, в ней встречаются как долгие периоды спада интереса, так и молниеносные взлеты. Сейчас мы имеем дело как раз с пиком интереса. За такой ажиотаж следует сказать спасибо разработке новых алгоритмов обучения. Они позволили нейросетям выйти на современный уровень.

Читайте также:  Искусственный интеллект будет бороться с пробками в столице

Нейронные сети умеют обучаться?

Это и есть их главная фишка. Если алгоритмы попроще всегда реагируют на один и тот же поток данных одинаково, то нейросети ведут себя иначе.

Каждый раз, обрабатывая данные, свободные элементы нейронных сетей меняются, запоминая предыдущий опыт. С его помощью точность работы повышается и уменьшается вероятность ошибки.

Чем больше данных мы пропустим через нейросеть, тем эффективнее окажется ее работа.

Где используются нейросети?

Если на секунду задуматься и присмотреться, окажется, что на самом деле они уже применяются повсеместно.

Источник: https://fullhub.ru/other/matrix-has-you-93798.html

Нейросети: доступно о сложном — Офтоп на DTF

На пути к искусственному интеллекту.

Созданию искусственного интеллекта предшествует ряд вопросов более или менее общего характера. К более общим можно отнести вопросы морали и философии.

Что если искусственный интеллект окажется более совершенным, нежели человек? И способна ли вообще наша деятельность породить разум, равный либо превосходящий человеческий? К менее общим отнесём вопросы физических особенностей такого интеллекта.

И если на вопросы морали вряд ли когда-нибудь будут найдены однозначные ответы, то вопросы физических характеристик решить возможно. Так, наиболее эффективным приближением к созданию искусственного интеллекта стали нейронные сети, которые находят применение и в видеоиграх.

За последние годы мы узнали, что нейронные сети «решили» шашки, победили чемпиона в сложную китайскую игру Го, эффективно играют в покер, гораздо лучше человека справляются с оценкой финансовых инструментов, пишут стихи и воспроизводят стили великих художников, перестраивая фотографии со смартфонов.

Пора разобраться, что же за технология постепенно изменяет мир. Задача для обывателя усложняется тем, что нейронные сети — понятие, которое одновременно обращается к таким категориям и областям науки как нейропсихология, математика, кибернетика и программирование.

Как всё началось

Нейропсихология появилась в ответ на всё возрастающий интерес человека к собственному разуму. Со временем стало очевидно, что с философской точки зрения объяснить природу разума можно тысячей методов. Однако с физиологической — разум есть не что иное, как одна из функций мозга. Мозг состоит из вполне объяснимой материи и функционирует по некоторым законам, пусть и не до конца понятным.

Идею искусственной нейронной сети впервые описали математик Уолтер Питтс и нейропсихолог Уоррен Мак-Каллок в 1943 году.

Важно

Их математическая модель упрощала понимание деятельности мозга до цепи взаимосвязанных элементов, каждый из которых способен обрабатывать информацию, а затем передавать её последующему элементу.

Этими взаимосвязанными элементами были нейроны — устройства, способные оперировать двоичными числами.

Фрэнк Розенблатт, создатель одной из первых моделей нейронной сети — перцептрона

В последующие годы группы ученых и математиков разработали модели, методы и инструменты для работы с нейросетями. Сравнительная отсталость компьютерных технологий, однако, не позволяла производить эксперименты с большим количеством вычислений.

О нейроне

Строение биологического нейрона

При первом знакомстве со структурой простейшей нейронной сети (входы, выходы, синапс, нейрон, аксон, активационная функция, перцептрон, веса связи и другие поначалу непростые понятия) у неподготовленного человека может возникнуть ряд вопросов, основной из которых — с какой стороны вообще подходить к этому знанию?

Строение искусственного нейрона берет свои корни в понимании человека о работе нейрона настоящего. Это крайне маленькая клетка, которая передает электрические разряды в зависимости от поступающей на неё информации. Проще говоря, это простейший вычислительный элемент.

Формальный нейрон

Обобщая, можно сказать, что нейрон решает, насколько важны факты для отдельно взятой небольшой ситуации. В менее общем смысле — задача нейрона состоит в оценке некоторых входных факторов и передаче данной оценки.

Что вообще делает нейрон? На входе у нас есть некоторые данные. Эти данные передаются по специальным связям-синапсам для дальнейшего суммирования, преобразования и вывода. Каждый синапс имеет свой вес для каждого фактора, на который значение этого фактора умножается.

Таким образом, суммирование факторов в сумматоре производится взвешенное. Результат этого суммирования затем преобразуется с помощью активационной функции, и информация передается по специальной связи-аксону для дальнейшего использования.

Если синапсов у нейрона может быть много, то аксон — только один.

Один такой нейрон способен решить небольшую задачу. Именно поэтому нейрон отдельно рассматривается лишь для общего понимания механики функционирования нейронной сети.

Как это работает

Предположим, что нам необходимо из миллиона фотографий отобрать все, на которых есть молоток. Отдельный нейрон решить задачу не способен из-за своей простой структуры. Точно так же, отдельный нейрон в нашем мозгу не способен определить, что молоток — это молоток. Скорее, он может охарактеризовать блеск на головке как металлический и передать эти данные следующему нейрону для обобщения.

Нейронная сеть состоит из множества нейронов. Структура их расположения и связей различается в зависимости от модели сети. Бывают нейронные сети с одним слоем нейронов, бывают и так называемые глубинные — со многими слоями.

Выбор модели зависит от типа решаемой задачи. Нередко задачи носят экспериментальный характер. Именно поэтому практических обобщений для использования тех или иных моделей нейронных сетей существует не так уж много.

Но они есть.

Свёрточные нейронные сети

Так, свою эффективность в распознавании образов доказали свёрточные нейронные сети.

Нейронная сеть, состоящая из одного слоя нейронов, которая попиксельно будет рассматривать изображение и решать, есть ли на нем молоток — очень громоздкая, ресурсоемкая и неэффективная. Количество связей и сложность математического моделирования не позволит эффективно решить комплексную задачу. Разве что задачу распознавания печатных букв в рамках одного шрифта, но это очень частный случай.

Идею свёрточной нейронной сети можно объяснить биологической аналогией. Как мы определяем, что молоток — это молоток?

Совет

Смотрим на лежащий объект — наш мозг вызывает из памяти набор характеристик, которым должен соответствовать молоток. Железная голова, ручка из дерева. Также мозг сопоставляет форму и цвета. Однако, если показать мозгу молоток розового цвета, он все равно будет воспринят молотком, хоть и странным. Если же форму головки изменить на круглую, то мозг усомнится — молоток ли перед нами?

Формальное представление свёрточной нейронной сети

С помощью глаз мозг анализирует объект по ряду характеристик, которые затем складываются в единую картинку. Свёрточная нейронная сеть поступает схожим образом.

Изображение анализируется группами нейронов. Вначале сеть определяет базовые характеристики, например цвет. Затем более крупные базовые характеристики объекта — например форму изгиба ручки молотка. Таким образом, сеть в конечном счете сама решит, какие характеристики ей нужны, чтобы найти молоток на изображении.

Для углубленного понимания сверточных нейронных сетей мы рекомендуем к прочтению данную статью.

Рекуррентные нейронные сети

У вышеописанных нейронных сетей существует, однако, проблема: у них нет памяти. Иными словами, нейронные сети, которые мы упоминали, каждый раз работают как сложноустроенный алгоритм. В них информация передается строго вперед, отсюда и их формальное название — нейронные сети прямого распространения.

Свёрточная нейронная сеть со временем выделит признаки, присущие молотку и каждый раз будет определять молоток на изображении. Но для неё каждый следующий молоток будет молотком новым.

Рекуррентные нейронные сети обладают памятью — они могут ассоциировать текущее состояние сети с предыдущим. В нашем примере — нейросеть сможет вспомнить и молоток, который она определила ранее, при определении молотка следующего.

Примеры рекуррентных нейронных сетей различной архитектуры

Но для описания рекуррентных нейронных сетей аналогия с молотком не подходит. Такие сети используют в несколько ином типе задач, таких как генерирование последовательностей.

Для примера, возьмем основную проблему автоматических переводчиков с одного языка на другой — неадекватность в переводе текстов.

Переводчик будет знать все слова, предположим, английского и русского языков. Переводчик даже будет знать основные идиомы и их переводы. Однако как сделать так, чтобы перевод осуществлялся согласно смыслу текста, а не его формальной структуры и набору слов?

Здесь помогут рекуррентные сети. Они смогут анализировать как научные тексты, так и тексты с примерами обычного общения и переводить их осмысленно на другой язык. Конечно, в этом случае простого анализа текстов на русском и английском недостаточно, сети нужно предоставить аналогии, примеры осмысленных переводов с одного языка на другой.

Однако со временем сеть сможет развиться до такой степени, что будет адекватно определять тип и стиль текста и переводить на другой язык.

Естественно, области применения таких сетей несравнимо шире перевода — от обучаемых ботов с памятью и до оценки финансовых показателей на основе имеющихся данных.

Более полно про рекуррентные нейронные сети можно прочитать здесь.

Обучение нейронной сети

Резонный вопрос: каким образом сеть решает, что правильно, а что нет? Вышеупомянутые структуры могут решать математическую задачу, но правильное математически решение с практической точки зрения может оказаться совершенно неверным.

Нейронные сети необходимо обучать.

Возьмем классический пример с маленьким ребёнком. Ребёнку в начале своего жизненного пути незнакомо практически всё – начиная от перемещения в пространстве, заканчивая моральными нормами.

Младенец, пытаясь ходить, как взрослый, будет подниматься, делать пару нестройных шагов и падать. Чтобы затем подняться вновь, сделать чуть более стройными эти несколько шагов и упасть чуть позже, лучше сгруппировавшись, чтобы не ушибиться.

Обратите внимание

Иными словами, ребёнок учится на своих ошибках (свойство, к сожалению, часто забывающееся в процессе взросления).

Это один из принципов обучения нейронной сети. Построив верную математическую модель и загрузив в неё пример, нам необходимо сообщить сети, какой результат мы ожидаем. Затем произвести запуск сети и оценить, насколько ожидаемый результат расходится с фактическим. Далее мы указываем сети на ошибки и так до тех пор, пока сеть на начнёт выдавать нужный результат.

Метод обратного распространения ошибки

Во главе такого обучения лежит метод обратного распространения ошибки, когда на выходе полученное значение сигнала нейронной сети сравнивается с необходимым значением.

Теперь, когда мы понимаем формальную структуру нейрона, несложно будет предположить, что для нивелирования ошибки нам нужно модифицировать веса, на которое умножаются входные данные.

Таким образом, метод обратного распространения заключается в последовательной корректировке каждой связи нейрона от выхода и до входа.

Мы сознательно пропустили всю математику, о ней можно внятно узнать во множестве хороших статей.

Метод выше требует постоянного вмешательства со стороны «учителя».

Однако нейронные сети могут обучаться и самостоятельно. Например, в задачах, в которых необходимо выявить общие принципы предоставленной информации. Нейронная сеть самостоятельно анализирует массив данных и выявляет принципы. Таким образом обучаются свёрточные нейронные сети — они самостоятельно выбирают факторы, необходимые для определения объекта.

Источник: https://dtf.ru/flood/5407-neyroseti-dostupno-o-slozhnom

Нейросеть научилась самостоятельно вести паблик во «ВКонтакте»

20-летний администратор паблика «Абстрактный юмор» Артем Чирков научил нейросеть самостоятельно создавать и публиковать мемы. Алгоритм объединяет несколько изображений из популярных сообществ в одно и публикует их на странице проекта. Автор системы рассказал TJournal о ее работе, будущем нейросетей и обучении на программиста.

Алгоритм

В 2015 году Чирков написал первую версию бота на Python. Он скачивал картинки из популярных сообществ, отрезал верхнюю и нижнюю части, а затем объединял их в одно изображение. Вместе с друзьями Чирков научил алгоритм отправлять картинки в предложенные публикации.

В 2016 году студент сделал из системы четыре скрипта.

Один искал картинки и обрезал текст на них, второй помогал избежать слишком частого обращения к «ВКонтакте» через API, третий сохранял изображения из пабликов, а четвертый содержал основной код бота.

Система не учитывала контекст, поэтому отбирать мемы для публикации приходилось вручную. Кроме того, бот искал картинки с черно-белым шрифтом Impact, а они начали выходить из оборота.

Автономная работа

Чирков забросил паблик до мая 2018 года, когда нашел способ поставить нейросети на распознавание текста и матанализ на фильтрацию результатов.

Раз в неделю система собирает информацию о новых мемах из пабликов «МДК», «Лепра», IGM и «Орленок», анализирует их и сохраняет информацию о зонах с текстом. Затем она ежедневно запускает скрипт, который склеивает зоны и планирует восемь публикаций.

Разработчик обучил нейросеть проверять получившийся результат, вручную отобрав тысячу «подходящих и неподходящих» изображений. В итоге проект начал работать полностью автономно.

Под капотом

Для создания структуры системы Чирков использовал готовую нейросеть, которая определяет и оценивает содержание текста. Без нее половина картинок была с нечитаемым текстом, сейчас таких осталось около 5 %.

Читайте также:  Аквариум с искусственным интеллектом

Машине чуждо понятие юмора, и мемы имеют смысл только в тех случаях, когда две картинки складываются в шутку.

У бота есть свое понимание контекста: он анализирует второстепенные факторы, такие как позиция, размер, цвет, а также умеет отделять сетапы от панчлайнов.

Автоматизация юмора

Чирков считает, что его паблик — наглядный пример грядущей автоматизации. По его словам, если можно автоматизировать юмор, то это можно сделать со всеми другими сферами. Со временем алгоритмы научатся понимать контекст и смогут создавать смешные картинки, считает администратор «Абстрактного юмора».

Артем Чирков

Автор алгоритма рассказал, что родился в Перми и давно увлекается программированием, а последние два года учится на программиста в Канаде. До совершеннолетия он всегда хотел прославиться и стать «мальчиком-гением», но с тех пор максимализм «потерялся». Программирование было для него способом совместить то, что ему нравится: компьютеры, игры, интернет и заработок.

Чирков порекомендовал язык программирования Python всем начинающим программистам, так как именно на нем он смог «наконец сделать что-то полезное». Начинающим разработчикам он посоветовал найти сферу, где пригодятся их навыки и изучать программирование на простых проектах.

Аналогичные системы

В июне 2018 года ученые из Университета Стэнфорда представили новую модель машинного обучения, которая создает мемы. Для обучения они использовали набор из 400 000 картинок на различные тематики с сайта memegenerator.net. Исследователи остановили выбор на мемах в стиле «советующих животных».

Источник: TJournal

Наташа Маркова

Источник: https://tproger.ru/news/ai-abstract-humour/

Нейросеть: машинный интеллект в любом смартфоне

Корреспондент.net, 28 января 2017, 09:25

В очередной раз соцсети увлечены мобильным приложением для редактирования фотографий, которое основано на принципе нейронных сетей.

Китайский сервис Meitu завоевал пользователей функцией Hand-drawn, превращающей человека в “кавайного” аниме-персонажа.

Такое повальное увлечение фоторедактором наблюдалось летом прошлого года, тогда в тренде было приложение Prisma, которое делало из фотографии “произведение искусства” также используя нейросети.

(Meitu собирает персональные данные и может менять настройки телефона. Оно накапливает данные вплоть до метража квартиры. Вероятно Meitu сохраняет информацию из-за нового китайского закона о запрещенном контенте)

Важно

За такими, казалось бы, легкомысленными приложениями стоит технология создания искусственного интеллекта. Например, на днях ученые объявили, что смогли обучить нейросеть распознавать рак кожи.

Изучение нейронных сетей началось с появлением первых компьютеров. Но только сейчас эта область перешла из академических институтов в сторону корпораций и небольших стартапов и теперь доступна не только ученым, а входят в жизнь простых людей.

Корреспондент.net решил разобраться, что такое нейронная сеть и где ее уже применяют.

Нейронная сеть как машинное обучение

Искусственные нейронные сети разрабатываются, в том числе, чтобы понять как работает мозг человека и попытка его воспроизвести. 

Нейросеть является обучающейся системой, которая работает по алгоритмам, а также на основе прошлого опыта. Искусственный нейрон является упрощенной моделью естественного.

Нейрон имеет много входов и один выход

Говоря очень просто, нейросеть – это компьютерная программа, которая узнает информацию и реагирует на нее, а не выполняет конкретные команды. Это серия взаимосвязанных алгоритмов, которые, работая вместе, могут воспринимать паттерны и повторять их.

Самыми распространенными применениями нейронных сетей является классификация, предсказание (падение акций и т.д.) и распознавание.

Для того, чтобы нейронная сеть могла корректно решать поставленные задачи, требуется “прогнать” ее работу на десятках миллионов наборов входных данных. Например показать ей букву “А” разными шрифтамы, чтобы увидеть, какие буквы она решит принять похожими на нее. Затем человек подтверждает, какие буквы на самом деле являются “А”.

В процессе обучения нейронная сеть находит сложные зависимости между входными данными и выходными, а также обобщает их. Если обучение прошло успешно, то нейросеть на выходе даст результат, который отсутствовал в обучающей выборке.

Источник: https://korrespondent.net/tech/science/3806682-neiroset-mashynnyi-yntellekt-v-luibom-smartfone

Обучение нейросети с учителем, без учителя, с подкреплением — в чем отличие? Какой алгоритм лучше?

Обучить нейронную сеть можно разными способами: с учителем, без учителя, с подкреплением. Но как выбрать оптимальный алгоритм и чем они отличаются? Есть несколько способов собрать мебель из IKEA. Каждый из них приводит к собранному дивану или стулу. Но в зависимости от предмета мебели и его составляющих один способ будет более разумным, чем другие.

Есть руководство по эксплуатации и все нужные детали? Просто следуйте инструкции. Ну как, получается? Можно выбросить руководство и работать самостоятельно. Но стоит перепутать порядок действий, и уже вам решать, что делать с этой кучей деревянных болтов и досок.

Все то же самое с глубоким обучением (deep learning). Разработчик предпочтет алгоритм с конкретным способом обучения, учитывая вид данных и стоящую перед ним задачу.

Результат обучения нейронной сети — кластеризация изображений

При обучении с учителем нейронная сеть обучается на размеченном наборе данных и предсказывает ответы, которые используются для оценки точности алгоритма на обучающих данных. При обучении без учителя модель использует неразмеченные данные, из которых алгоритм самостоятельно пытается извлечь признаки и зависимости.

Обучение с частичным привлечением учителя представляет собой нечто среднее. Оно использует небольшое количество размеченных данных и большой набор неразмеченных. А обучение с подкреплением тренирует алгоритм при помощи системы поощрений. Агент получает обратную связь в виде вознаграждений за правильные действия. Похожим образом дрeссируют животных.

Для каждого способа обучения рассмотрим примеры подходящих для него данных и задач.

Обучение с учителем

Обучение с учителем (supervised learning) предполагает наличие полного набора размеченных данных для тренировки модели на всех этапах ее построения.

Наличие полностью размеченного датасета означает, что каждому примеру в обучающем наборе соответствует ответ, который алгоритм и должен получить. Таким образом, размеченный датасет из фотографий цветов обучит нейронную сеть, где изображены розы, ромашки или нарциссы. Когда сеть получит новое фото, она сравнит его с примерами из обучающего датасета, чтобы предсказать ответ.

Пример обучения с учителем — классификация (слева), и дальнейшее ее использование для сегментации и распознавания объектов

В основном обучение с учителем применяется для решения двух типов задач: классификации и регрессии.

Совет

В задачах классификации алгоритм предсказывает дискретные значения, соответствующие номерам классов, к которым принадлежат объекты. В обучающем датасете с фотографиями животных каждое изображение будет иметь соответствующую метку — «кошка», «коала» или «черепаха». Качество алгоритма оценивается тем, насколько точно он может правильно классифицировать новые фото с коалами и черепахами.

А вот задачи регрессии связаны с непрерывными данными. Один из примеров, линейная регрессия, вычисляет ожидаемое значение переменной y, учитывая конкретные значения x.

Более утилитарные задачи машинного обучения задействуют большое число переменных. Как пример, нейронная сеть, предсказывающая цену квартиры в Сан-Франциско на основе ее площади, местоположения и доступности общественного транспорта. Алгоритм выполняет работу эксперта, который рассчитывает цену квартиры исходя из тех же данных.

Таким образом, обучение с учителем больше всего подходит для задач, когда имеется внушительный набор достоверных данных для обучения алгоритма. Но так бывает далеко не всегда. Недостаток данных — наиболее часто встречающаяся проблема в машинном обучении на 2018 год.

Обучение без учителя

Идеально размеченные и чистые данные достать нелегко. Поэтому иногда перед алгоритмом стоит задача найти заранее не известные ответы. Вот где нужно обучение без учителя.

В обучении без учителя (unsupervised learning) у модели есть набор данных, и нет явных указаний, что с ним делать. Нейронная сеть пытается самостоятельно найти корелляции в данных, извлекая полезные признаки и анализируя их.

Кластеризация данных на основе общих признаков

В зависимости от задачи модель систематизирует данные по-разному.

  • Кластеризация. Даже без специальных знаний эксперта-орнитолога можно посмотреть на коллекцию фотографий и разделить их на группы по видам птиц, опираясь на цвет пера, размер или форму клюва. Именно в этом заключается кластеризация — наиболее распространенная задача для обучения без учителя. Алгоритм подбирает похожие данные, находя общие признаки, и группируют их вместе.
  • Обнаружение аномалий. Банки могут обнаружить мошеннические операции, выявляя необычные действия в покупательском поведении клиентов. Например, подозрительно, если одна кредитная карта используется в Калифорнии и Дании в один и тот же день. Похожим образом, обучение без учителя используют для нахождения выбросов в данных.
  • Ассоциации. Выберете в онлайн-магазине подгузники, яблочное пюре и детскую кружку-непроливайку и сайт порекомендует вам добавить нагрудник и радионяню к заказу. Это пример ассоциаций: некоторые характеристики объекта коррелируют с другими признаками. Рассматривая пару ключевых признаков объекта, модель может предсказать другие, с которыми существует связь.
  • Автоэнкодеры. Автоэнкодеры принимают входные данные, кодируют их, а затем пытаются воссоздать начальные данные из полученного кода. Не так много реальных ситуаций, когда используют простой автоэнкодер. Но стоит добавить слои и возможности расширятся: используя зашумленные и исходные версии изображений для обучения, автоэнкодеры могут удалять шум из видеоданных, изображений или медицинских сканов, чтобы повысить качество данных.

В обучении без учителя сложно вычислить точность алгоритма, так как в данных отсутствуют «правильные ответы» или метки. Но размеченные данные часто ненадежные или их слишком дорого получить. В таких случаях, предоставляя модели свободу действий для поиска зависимостей, можно получить хорошие результаты.

Обучение с частичным привлечением учителя

Это золотая середина.

Обучение с частичным привлечением учителя (semi-supervised learning) характеризуется своим названием: обучающий датасет содержит как размеченные, так и неразмеченные данные. Этот метод особенно полезен, когда трудно извлечь из данных важные признаки или разметить все объекты – трудоемкая задача.

Обучение с частичным привлечением учителя часто используют для решения медицинских задач, где небольшое количество размеченных данных может привести к значительному повышению точности

Этот метод машинного обучения распространен для анализа медицинских изображений, таких как сканы компьютерной томографии или МРТ.

Опытный рентгенолог может разметить небольшое подмножество сканов, на которых выявлены опухоли и заболевания. Но вручную размечать все сканы — слишком трудоемкая и дорогостоящая задача.

Тем не менее нейронная сеть может извлечь информацию из небольшой доли размеченных данных и улучшить точность предсказаний по сравнению с моделью, обучающейся исключительно на неразмеченных данных.

Популярный метод обучения, для которого требуется небольшой набор размеченных данных, заключается в использовании генеративно-состязательной сети или GAN.

Представьте себе соревнование двух нейронных сетей, где каждая пытается перехитрить другую. Это GAN. Одна из сетей, генератор, пытается создать новые объекты данных, которые имитируют обучающую выборку.

Обратите внимание

Другая сеть, дискриминатор, оценивает, являются ли эти сгенерированные данные реальными или поддельными.

Сети взаимодействуют и циклично совершенствуются, поскольку дискриминатор старается лучше отделять подделки от оригиналов, а генератор пытается создавать убедительные подделки.

Как работает GAN: дискриминатору «D» показывают исходные изображения и данные, созданные генератором «G». Дискриминатор должен определить, какие изображения являются реальными, а какие поддельными.

Обучение с подкреплением

Видеоигры основаны на системе стимулов. Завершите уровень и получите награду. Победите всех монстров и заработаете бонус. Попали в ловушку – конец игры, не попадайте. Эти стимулы помогают игрокам понять, как лучше действовать в следующем раунде игры. Без обратной связи люди бы просто принимали случайные решения и надеялись перейти на следующий игровой уровень.

Обучение с подкреплением (reinforcement learning) действует по тому же принципу. Видеоигры — популярная тестовая среда для исследований.

Результат обучения с подкреплением — «агент» проходит трассу, не выезжая за ее пределы. Далее можно добивиться повышения скорости прохождения трассы.

Агенты ИИ пытаются найти оптимальный способ достижения цели или улучшения производительности для конкретной среды. Когда агент предпринимает действия, способствующие достижению цели, он получает награду.

Глобальная цель — предсказывать следующие шаги, чтобы заработать максимальную награду в конечном итоге.

При принятии решения агент изучает обратную связь, новые тактики и решения способные привести к большему выигрышу. Этот подход использует долгосрочную стратегию — так же как в шахматах: следующий наилучший ход может не помочь выиграть в конечном счете. Поэтому агент пытается максимизировать суммарную награду.

Это итеративный процесс. Чем больше уровней с обратной связи, тем лучше становится стратегия агента. Такой подход особенно полезен для обучения роботов, которые управляют автономными транспортными средствами или инвентарем на складе.

Так же, как и ученики в школе, каждый алгоритм учится по-разному. Но благодаря разнообразию доступных методов, вопрос в том, чтобы выбрать подходящий и научить вашу нейронную сеть разбираться в среде.

Интересные статьи:

Источник: https://neurohive.io/ru/osnovy-data-science/obuchenie-s-uchitelem-bez-uchitelja-s-podkrepleniem/

Ссылка на основную публикацию