Нейросеть что это программа

Что такое нейронные сети и зачем они нужны

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

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

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

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

Как НА САМОМ ДЕЛЕ работает нейросеть?

Этот человек в реальности не существует, его портрет сгенерировала нейронная сеть Artbreeder, ориентируясь на запросы из контекстного меню справа

Нейросети не всегда выдают приемлемые результаты. Например, эту картинку нейросеть ruDALL-E нарисовала по запросу «Щенки на поле»

Как работает нейронная сеть

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

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

Если сильно упростить, схема работы нейросети выглядит таким образом. Представим, что за каждый ответ «да» мы получаем 1 балл, а за «нет» — 0 баллов. Если в результате проверки нейросеть получает 4 балла, то она полностью уверена, что на картинке есть изображение кота. Если результат 2–3 балла, высока вероятность, что кот на картинке есть, но мог спрятать хвост.

Если результат 1–0 баллов, то кота на картинке точно нет. Или он хорошо спрятался.

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

Но не обошлось и без ошибок: нейросеть решила, что картинка с силуэтом лошади ― это фотография страницы книги

Зачем нужны нейросети

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

Что такое нейронные сети? ДЛЯ НОВИЧКОВ / Про IT / Geekbrains

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

Какие задачи решают нейронные сети

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

Классификация

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

Регрессия

Нейросеть прогнозирует рост акций, стоимость недвижимости или возраст по фотографии.

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

Прогнозирование временных рядов

Нейросеть составляет прогноз погоды, роста цен или объема потребления электроэнергии.

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

Кластеризация

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

Нейросеть DeepCluster раскладывает фотографии по темам: закаты, самолеты, лес и автобусы

Генерация

Нейросеть создает музыку, картинки, видео или текст по заданным параметрам.

Нейросеть Яндекса не только создает стихотворения из поисковых запросов пользователей, но и зачитывает их вслух

Как обучают нейросети

Главное преимущество нейросетей ― способность к самообучению. Если вернуться к примеру с поиском кота на фотографии, то, несколько раз перепутав его с лисой, нейросеть сделает вывод, что заостренные уши ― не самый характерный признак кота. И тогда она начнет выдавать за ответ «да» не 1, а 0,5 балла. Хорошо обученная нейросеть может распознавать данные, которых не было в наборе для обучения, а также искаженные или неполные данные. Например, узнает кота на фото, даже если видна только часть его морды.

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

Контролируемое обучение

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

Бесконтрольное обучение

Этот алгоритм позволяет обойтись без готовых данных. Нейросеть сама проверяет свой анализ на точность. Если она недостаточная, нейросеть повторяет операцию.

Читайте также:
Что за программа l h tts3000 russian что это

Усиленное обучение

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

Выводы

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

Если вы хотите получить одну из самых востребованных IT-профессий и стать разработчиком нейронных сетей, мы ждем вас на Факультете искусственного интеллекта GeekBrains, где вы за 18 месяцев получите все необходимые знания, чтобы начать работать по этой специальности.

Источник: gb.ru

Нейросеть — что это такое и как она работает простыми словами?

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

Нейросеть - что это такое и как она работает простыми словами

  • Что такое Нейросеть?
  • Как работает Нейросеть?
  • Для чего нужны Нейросети и на что они способны?
  • Виды нейросетей
  • Книги про нейросети
  • Лучшие нейросети

Что такое Нейросеть?

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

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

Как работает Нейросеть?

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

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

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

Для чего нужны Нейросети и на что они способны?

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

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

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

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

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

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

Всего существует большое множество классификаций нейросетей по разным характеристикам:

  • нейросети по типу входной информации
  • нейросети по способу обучения
  • нейросети по способу настройки синапсов
  • нейросети по времени передачи сигнала
  • нейросети по типу и характеру связи

Книги про нейросети

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

  • Нейрокомпьютерная техника: Теория и практика — Ф. Уоссермен
  • Нейронные сети — Саймон Хайкин
  • Самоорганизующиеся карты — Тойво Кохонен
  • Нейросетевые модели и алгоритмы. Справочник — Дмитрий Тархов
  • Make Your Own Neural Network — Tariq Rashid
  • A Brief Introduction to Neural Networks — David Kriesel
  • An Introduction to Statistical Learning — Gareth James
  • Programming Collective Intelligence — Toby Segaran
  • Neural Networks: A Systematic Introduction — Raul Rojas
  • Deep Learning: Methods and Applications — Li Deng Dong Yu

Лучшие нейросети

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

  • FaceApp
  • Deep Dream
  • FaceHero
  • http://What-Dog.net
  • Algorithmia
  • Murphy
  • FastText
  • http://How-Old.net
  • Prisma
  • The Emojini 3000
  • Deep Photo Style Transfer
  • Face Recognition
  • Magneta
  • Sonnet
  • deeplearn.js
  • Fast Style Transfer in TensorFlow
  • Pysc2
  • http://aiportraits.com
  • http://thispersondoesnotexist.com
  • #isitnude

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

Читайте также:
Программа навител что это такое

Источник: tyulyagin.ru

Нейросети 2022 года, которыми может пользоваться каждый (почти)

Пару лет назад мы выпустили две статьи про нейросети, которые помогали с картинками и текстами:

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

За два года всё ушло вперёд: картинки стали красивее, тексты — осмысленнее, а музыка — лучше. Мы собрали 10 лучших нейросетей 2022 года, которые могут помочь в работе и сделают нашу жизнь проще или интереснее.

DALL·E 2

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

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

Нейросети 2022 года, которыми может пользоваться каждый (почти) Нейросети 2022 года, которыми может пользоваться каждый (почти) Нейросети 2022 года, которыми может пользоваться каждый (почти)

ChatGPT

⚠️ Сервис недоступен в России

Эту нейросеть сделала та же команда, что и Dall-e, поэтому работает она так же круто. Это текстовый чат, который можно вести с нейронкой, но её отличие от всех остальных в том, что она может понимать контекст.

Например, ей можно сказать: «Представь, что ты получаешь Нобелевскую премию по химии и тебе нужно написать вступительную речь, а в ней указать на потепление климата». И ChatGPT это сделает — напишет связный текст и упомянет в нём нужные факты.

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

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

Нейросети 2022 года, которыми может пользоваться каждый (почти)

Балабоба

Текстовая нейросеть Яндекса, которая продолжает написанный вами текст. Работает не так всесторонне, как GPT, но и алгоритм в ней совсем другой. Задача Балабобы — быстро накреативить текст на разные темы. Мы использовали её в своих робоновостях, получилось неплохо:

RemoveBg

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

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

Нейросети 2022 года, которыми может пользоваться каждый (почти)

Lensа

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

Работает так: вы загружаете 10–20 своих фотографий в разных ракурсах и выбираете, в каком стиле сделать портрет. Нейронка думает, а потом присылает результат в виде подборки картинок. Почти все показывают вас с лучшей стороны: стройнее, привлекательнее, утончённее, без дефектов и в интересных обстоятельствах. Рай для современного нарциссизма:

Нейросети 2022 года, которыми может пользоваться каждый (почти)

Colorize

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

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

Нейросети 2022 года, которыми может пользоваться каждый (почти) Нейросети 2022 года, которыми может пользоваться каждый (почти)

Inpainting

Этот сервис от компании Nvidia, который похож на RemoveBG, только умеет гораздо больше. Он может:

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

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

Midjourney.com

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

Нейросети 2022 года, которыми может пользоваться каждый (почти) Нейросети 2022 года, которыми может пользоваться каждый (почти) Нейросети 2022 года, которыми может пользоваться каждый (почти)

Аниме-селфи

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

Интерфейс у сайта упоротый, но пользоваться можно. Если надо попроще — вот неофициальный телеграм-клиент: https://t.me/AnimeAIBetaBot

Нейросети 2022 года, которыми может пользоваться каждый (почти) Нейросети 2022 года, которыми может пользоваться каждый (почти)

Николай Иронов

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

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

Иронов — идеальный вариант для клиентов, которые хотят «посмотреть ещё варианты». В этой нейронке просто залипаешь и генеришь, генеришь и генеришь. Когда варианты начнут лезть из ушей, придётся выбирать из того, что есть.

Нейросети 2022 года, которыми может пользоваться каждый (почти) Нейросети 2022 года, которыми может пользоваться каждый (почти) Нейросети 2022 года, которыми может пользоваться каждый (почти) Нейросети 2022 года, которыми может пользоваться каждый (почти)

Классика: несуществующие коты

Но всё это шалости по сравнению с генерацией котиков: thiscatdoesnotexist.com.

Ну и людей на сдачу тоже можно нагенерить: thispersondoesnotexist.com.

И что, что с этим делать?

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

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

Источник: thecode.media

Нейросети для чайников. Начало

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

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

Читайте также:
Metro программа что это

Заинтересовавшихся прошу под кат.

Цели

Для чего же нужны нейросети?
Нейросеть – это обучаемая система. Она действует не только в соответствии с заданным алгоритмом и формулами, но и на основании прошлого опыта. Этакий ребенок, который с каждым разом складывает пазл, делая все меньше ошибок.

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

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

Как выходной сигнал формируется из кучи входных – определяет внутренний алгоритм нейрона.

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

Уворачиваясь от летящих в меня помидоров, скажу, что писать будем на Delphi (на момент написания статьи была под рукой). Если возникнет необходимость – помогу перевести пример на другие языки.

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

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

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

В итоге – нужно создать 33 нейрона, у каждого из которых будет 30х30=900 входов.
Создадим класс для нашего нейрона:

type Neuron = class name: string; // Тут название нейрона – буква, с которой он ассоциируется input: array[0..29,0..29] of integer; // Тут входной массив 30х30 output:integer; // Сюда он будет говорить, что решил memory:array[0..29,0..29] of integer; // Тут он будет хранить опыт о предыдущем опыте end;

Создадим массив нейронов, по количеству букв:

For i:=0 to 32 do begin neuro_web[i]:=Neuron.Create; neuro_web[i].output:=0; // Пусть пока молчит neuro_web[i].name:=chr(Ord(‘A’)+i); // Буквы от А до Я end;

Теперь вопрос – где мы будем хранить «память» нейросети, когда программа не работает?
Чтобы не углубляться в INI или, не дай бог, базы данных, я решил хранить их в тех же растровых изображениях 30х30.
Вот например, память нейрона «К» после прогона программы по разным шрифтам:

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

p:=TBitmap.Create; p.LoadFromFile(ExtractFilePath(Application.ExeName)+’res’+ neuro_web[i].name+’.bmp’)

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

Распознавать нейрон будет так:

— Берем 1й пиксель
— Сравниваем его с 1м пикселем в памяти (там лежит значение 0..255)
— Сравниваем разницу с неким порогом
— Если разница меньше порога – считаем, что в данной точке буква похожа на лежащую в памяти, добавляем +1 к весу нейрона.

И так по всем пикселям.

Вес нейрона – это некоторое число (в теории до 900), которое определяется степенью сходства обработанной информации с хранимой в памяти.
В конце распознавания у нас будет набор нейронов, каждый из которых считает, что он прав на сколько-то процентов. Эти проценты – и есть вес нейрона. Чем больше вес, тем вероятнее, что именно этот нейрон прав.

Теперь будем скармливать программе произвольное изображение и пробегать каждым нейроном по нему:

for x:=0 to 29 do for y:=0 to 29 do begin n:=neuro_web[i].memory[x,y]; m:=neuro_web[i].input[x,y]; if ((abs(m-n)<120)) then // Порог разницы цвета if m<250 then neuro_web[i].weight:=neuro_web[i].weight+1; // Кроме того, не будем учитывать белые пиксели, чтобы не получать лишних баллов в весах if m<>0 then begin if m0 then if m

Как только закончится цикл для последнего нейрона – будем выбирать из всех тот, у которого вес больше:

if neuro_web[i].weight>max then begin max:=neuro_web[i].weight; max_n:=i; end;

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

s:=InputBox(‘Enter the letter’, ‘программа считает, что это буква ’+neuro_web[max_n].name, neuro_web[max_n].name); for i:=0 to 32 do begin //Пробегаем по нейронам if neuro_web[i].name=s then begin //В нужном нейроне обновляем память for x:=0 to 29 do begin for y:=0 to 29 do begin p.Canvas.Pixels[x,y]:=RGB(neuro_web[i].memory[x,y],neuro_web[i].memory[x,y], neuro_web[i].memory[x,y]); //Записываем новое значение пикселя памяти end; end; p.SaveToFile(ExtractFilePath(Application.ExeName)+’res’+ neuro_web[i].name+’.bmp’);

Само обновление памяти будем делать так:

n:=round(n+(n+m)/2);

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

Вот несколько итераций для буквы Г:

На этом наша программа готова.

Обучение

Начнем обучение.
Открываем изображения букв и терпеливо указываем программе на её ошибки:

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

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

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

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

За сим откланяюсь, спасибо за чтение.

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

  • нейронные сети
  • нейрон
  • программирование
  • Программирование
  • Алгоритмы

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru