Нейросеть как пишется правильно

Русский[править]

Морфологические и синтаксические свойства[править]

падеж ед. ч. мн. ч.
Им. нейросе́ть нейросе́ти
Р. нейросе́ти нейросете́й
Д. нейросе́ти нейросетя́м
В. нейросе́ть нейросе́ти
Тв. нейросе́тью нейросетя́ми
Пр. нейросе́ти нейросетя́х
М. нейросети́  —

нейросе́ть

Существительное, неодушевлённое, женский род, 3-е склонение (тип склонения 8e по классификации А. А. Зализняка).

Корень: -нейр-; интерфикс: -о-; корень: -сеть-.

Произношение[править]

  • МФА: ед. ч. [nʲɪɪ̯rɐˈsʲetʲ], мн. ч. [nʲɪɪ̯rɐˈsʲetʲɪ]

Семантические свойства[править]

Значение[править]

  1. сокр. от нейронная сеть ◆ Нейросети позволяют моделировать достаточно сложные процессы ― они используются, например, игроками на валютных биржах, для предсказания поведения курсов ценных бумаг, а также для решения других задач, не поддающихся формализации. Илья Щуров, «Вавилон 2. Возможно ли создание искуственного интеллекта?» // «Пятое измерение», 2003 г. [НКРЯ]

Синонимы[править]

Антонимы[править]

Гиперонимы[править]

  1. сеть

Гипонимы[править]

Родственные слова[править]

Ближайшее родство
  • существительные: сеть
  • прилагательные: нейросетевой

Этимология[править]

Происходит от ??

Фразеологизмы и устойчивые сочетания[править]

Перевод[править]

Список переводов
  • Английскийen: neuronet
  • Украинскийuk: нейромережа ж.

Библиография[править]

  • Новые слова и значения. Словарь-справочник по материалам прессы и литературы 90-х годов XX века. — СПб. : Дмитрий Буланин, 2014. — ISBN 978-5-86007-637-2.
Для улучшения этой статьи желательно:

  • Добавить синонимы в секцию «Семантические свойства»
  • Добавить сведения об этимологии в секцию «Этимология»

Midjourney — главная нейросеть лета и повод в очередной раз убедиться в прогрессе технологий.

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

В Midjourney огромное количество параметров, и до многих из них можно дойти только опытным путем. Тут возникает проблема: количество бесплатных попыток ограничено 25. Поэтому рассказываем, как правильно формулировать запрос к нейросети и не исчерпать лимит на не очень качественные результаты.

Что вы узнаете

  • Как попробовать нейросеть самому
  • Как правильно сформулировать запрос нейросети
  • Какие есть сервисы для составления идеального запроса
  • Как скрещивать картинки в Midjourney
  • Итоговая памятка

Как попробовать нейросеть самому

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

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

Нажмите на бота Midjourney в правой части экрана и найдите кнопку «Добавить на сервер»

Как устроен дискорд-сервер Midjourney. Главных каналов несколько: в Announcements размещают объявления от разработчиков, в Status сообщают о технических проблемах. Советую заодно ознакомиться с правилами в канале Rules, чтобы не возникало вопросов, если вас вдруг за что-то забанят.

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

Первым делом я попытался сгенерировать корги на красном мотоцикле в стилистике сериала «Очень странные дела»

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

Как сгенерировать свое первое изображение. Зайдите в один из чатов Newbies и введите в поле для отправки сообщения команду /imagine. Появится плашка Prompt: все, что вы напишете после нее, станет частью запроса. Описание картинки для нейросети лучше формулировать на английском языке. Другие языки Midjourney понимает гораздо хуже.

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

Да, все попытки я потратил на вариации запроса «корги-байкер на красном мотоцикле»

Четыре получившиеся картинки — не итоговый результат. Под коллажом появятся кнопки «U1, U2, U3, U4» и «V1, V2, V3, V4». Первый параметр — апскейлинг. Выберите наиболее удачную картинку из четырех, и нейросеть улучшит ее разрешение, а заодно добавит деталей. Второй параметр позволяет создать еще четыре вариации конкретной картинки из коллажа — на случай, если вам нравится результат, но хочется посмотреть, что еще сделает нейросеть в том же духе.

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

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

А еще ваши результаты хранятся на сайте Midjourney — нужно авторизоваться через «Дискорд».

Этот 3D-рендер корги на мотоцикле вышел откровенно неудачным, но я все равно попросил бота прислать результаты в личку

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

У Midjourney есть платная подписка: за 10 $⁣ (600 Р) в месяц вы получите 200 попыток на генерацию изображения, подписка за 30 $⁣ (1799 Р) убирает все лимиты. Но пользователи с российскими картами из-за ограничений не смогут оплатить премиум-версию. Так что в случае, если вы истратили все попытки, придется просить друзей или регистрировать новый аккаунт в «Дискорде». Помните, что к номеру телефона можно привязать не больше одного профиля, а за обход ограничений вас могут и забанить.

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

Как правильно сформулировать запрос нейросети

В пользу нейросетей часто говорят, что достаточно подобрать правильный запрос и нажать кнопку «Сделать шедевр». Это правда лишь отчасти: технически все верно, вот только на подбор идеального запроса могут уйти часы. Особенно это актуально в случае Midjourney — ограничение на 25 бесплатных генераций сильно увеличивает цену каждой ошибки. Не успеваешь оглянуться, как лимит исчерпывается.

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

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

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

Один раз я переборщил с абстрактными деталями и потом еле нашел корги

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

Полезные короткие команды, которые стоит учитывать

—iw. В Midjourney можно загружать картинки в качестве референса. Можно указать ее «вес» — чем больше, тем сильнее она влияет на результат. Значение по умолчанию — 0,25.

—ar. Быстрая команда для параметра aspect ratio, или «соотношение сторон». По умолчанию картинки генерируются в соотношении 1:1, но это можно поменять — например, на 3:2 или 16:9.

—s. Уровень стилизации. Достаточно абстрактный параметр, который можно установить в диапазоне от 0 до 60 000.

—q. Уровень качества. По умолчанию стоит на отметке 1, можно установить 2, тогда будет больше деталей у картинки. Раньше был максимальный параметр 5, но его убрали из-за высокой нагрузки.

—chaos. Уровень «хаоса» при обработке изображения, можно увеличить до 100.

—wallpaper. Так нейросеть понимает, что вам нужно детальное и качественное изображение. Эта команда удобнее и эффективнее, чем параметры «4k», «ультрадетализированное» и другие.

—v. Позволяет задать, какая версия Midjourney будет генерировать картинку по запросу. По умолчанию стоит последняя версия, третья. Большого смысла менять ее я не увидел.

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

«Пражская медиашкола» советует такую последовательность в запросе: «Описание объекта :: основная стилистика :: дополнительные параметры :: —короткие команды». В моем примере с корги обычно получалось примерно так: «Corgi biker on red motorcycle :: in soviet style, mosaic :: —q2».

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

Я особенно полюбил добавлять к запросам «советская мозаика»

Задайте стилистику. Midjourney обучена на огромном количестве художественных стилей, работах конкретных людей, различных эстетиках и временных эпохах. Многое зависит от фантазии пользователей. Не бойтесь добавлять детали: цвета, освещение, материалы. В моем случае корги превращался то в фотореалистичный портрет, то в 3D-рендер, то в оригами, то в татуировку, то в часть советского плаката.

Посмотрите, как меняется сфера в зависимости от разных панк-стилистик в запросе

Если вы увлекаетесь фотографией, попробуйте применить навыки при составлении запроса. Вы можете задать тип камеры, объектива, расстояние до объекта, фокусное расстояние, выдержку. Кстати, в попытках подражать фотографиям пользователи часто пишут параметр Photorealism. На «Гитхабе» советуют вместо этого писать Photograph или 35mm photograph. Еще один вариант — написать имя любимого известного фотографа.

В целом относительно стилей команда Midjourney советует такие формулировки:

  • in the style of — если вы хотите добавить какую-то стилистику или эстетику;
  • by x, где x — художник, чьими работами будет вдохновляться нейросеть.

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

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

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

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

Какие есть сервисы для составления идеального запроса

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

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

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

Разработчик обещает скоро выпустить версию 3.0

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

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

Все параметры проиллюстрированы — удобно

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

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

Шаги по оформлению запроса сделаны так, чтобы не добавлять взаимоисключающие категории

Noonshot. Довольно подробный редактор запроса.

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

На сайте можно составить запрос не только к Midjourney, но и к Dall-E

Как скрещивать картинки в Midjourney

В обновленной версии алгоритма Midjourney v4 сильно улучшили функцию «скрещивания» картинок-референсов в новое изображение. Как это работает: не нужно даже формулировать запрос к нейросети, достаточно ввести команду /imagine в «Дискорде» и в поле Prompt вставить ссылки на две картинки в формате JPG. После этого нейросеть сгенерирует изображение, которое возьмет что-то от обоих источников.

Тут уже не до корги на мотоцикле

Можно скрестить двух персонажей или использовать комбинацию «персонаж + картинка с атмосферой». У авторов работ различается мнение, влияет ли очередность ссылок на результат: одни говорят, что первый референс выступает базой для нейросети, другие — что в любом случае заимствование идет в пропорции 50 на 50.

При желании к ссылкам можно добавить и текстовые уточнения. Главное — не забудьте активировать версию нейросети v4. Сделать это можно двумя способами: дописать в запросе «—v 4» или ввести в чате команду /settings, а затем выбрать версию движка.

Заодно можно ознакомиться и с другими настройками

Итоговая памятка

  1. Midjourney бесплатно доступен для пользователей «Дискорда». Лучше всего тестировать бота в официальном сообществе нейросети — получится заодно посмотреть, что делают другие. Но бота можно и добавить к себе на сервер.
  2. Помните про ограничение в 25 бесплатных генераций. Можно взять платную подписку, но российские карты не поддерживаются. Альтернатива: создать новый профиль в «Дискорде», но если администрация сообщества узнает — вас забанят.
  3. Картинки генерируйте в одном из чатов Newbies. Вводите команду /imagine и формулируйте запрос.
  4. Определитесь с объектом — что или кто станет главным героем изображения. Сразу пропишите детали, которые вам нужны: цвет, параметры камеры, материалы. Добавьте стилистику, лучше всего сделать это через такие команды: in style of или artwork by.
  5. Запомните короткие команды, с их помощью можно задать детализированность картинки, соотношение сторон и другие параметры.
  6. Составить хороший запрос можно с помощью сервисов-промптеров. Они наглядно демонстрируют, какие возможности скрывает нейросеть.

Генерировали картинки в нейросетях? Поделитесь своими результатами и расскажите, какой запрос использовали

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

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

Время на прочтение
5 мин

Количество просмотров 771K

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

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

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

Цели

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

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

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

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

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

Уворачиваясь от летящих в меня помидоров, скажу, что писать будем на 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 m<250 then   n:=round((n+(n+m)/2)/2);
                      neuro_web[i].memory[x,y]:=n;   end
                else if n<>0 then
                  if m<250 then    n:=round((n+(n+m)/2)/2);
               neuro_web[i].memory[x,y]:=n;

             end;

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

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 за замечание.

Значение слова «нейросеть»

  • нейросе́ть

    1. сокр. к нейронная сеть Нейросети позволяют моделировать достаточно сложные процессы ― они используются, например, игроками на валютных биржах, для предсказания поведения курсов ценных бумаг, а также для решения других задач, не поддающихся формализации. Илья Щуров, «Вавилон 2. Возможно ли создание искуственного интеллекта?» // «Пятое измерение», 2003 г. (цитата из НКРЯ)

Источник: Викисловарь

Делаем Карту слов лучше вместе

Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать
Карту слов. Я отлично
умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!

Спасибо! Я стал чуточку лучше понимать мир эмоций.

Вопрос: тотализатор — это что-то нейтральное, положительное или отрицательное?

Ассоциации к слову «нейросеть»

Синонимы к слову «нейросеть»

Предложения со словом «нейросеть»

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

Понятия, связанные со словом «нейросеть»

  • Считыватель — электронное устройство для чтения информации об объекте. Наиболее распространены считыватели…

  • Интернет-принтер — принтер с функцией подключения к интернету, без необходимости подключения к компьютеру.

  • Программа́тор — аппаратно-программное устройство, предназначенное для записи/считывания информации в постоянное запоминающее устройство (однократно записываемое, флеш-память, ПЗУ, внутреннюю память микроконтроллеров и ПЛК).

  • Манипуляторы осуществляют непосредственный ввод информации, указывая курсором на экране монитора команду или место ввода данных. Манипуляторы, как правило, подключаются к последовательному порту. Используются для облегчения управления компьютером (ПК). К манипуляторам относятся мышь, трекбол, графический планшет (дигитайзер), световое перо, тачпад, сенсорный экран, Roller Mouse, pointing stick, джойстик и игровые манипуляторы. Попросту говоря, манипуляторы это всё то, чем можно перемещать курсор…

  • (все понятия)

Отправить комментарий

Текст комментария:

Схема простой нейросети. Зелёным обозначены входные элементы, жёлтым — выходной элемент

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

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

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

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

Содержание

  • 1 Хронология
  • 2 Известные применения
    • 2.1 Распознавание образов и классификация
    • 2.2 Принятие решений и управление
    • 2.3 Кластеризация
    • 2.4 Прогнозирование и аппроксимация
    • 2.5 Сжатие данных и Ассоциативная память
  • 3 Этапы решения задач
    • 3.1 Сбор данных для обучения
    • 3.2 Выбор топологии сети
    • 3.3 Экспериментальный подбор характеристик сети
    • 3.4 Экспериментальный подбор параметров обучения
    • 3.5 Собственно обучение сети
    • 3.6 Проверка адекватности обучения
  • 4 Классификация по типу входной информации
  • 5 Классификация по характеру обучения
  • 6 Классификация по характеру настройки синапсов
  • 7 Классификация по времени передачи сигнала
  • 8 Классификация по характеру связей
    • 8.1 Сети прямого распространения (Feedforward)
    • 8.2 Рекуррентные нейронные сети‎
    • 8.3 Радиально-базисные функции
    • 8.4 Самоорганизующиеся карты
  • 9 Известные типы сетей
  • 10 Отличия от машин с архитектурой фон Неймана
  • 11 Нейронные сети — универсальные аппроксиматоры
  • 12 Примеры приложений
    • 12.1 Предсказание финансовых временных рядов
    • 12.2 Психодиагностика
    • 12.3 Хемоинформатика
  • 13 См. также
  • 14 Примечания
  • 15 Ссылки
  • 16 Литература

Хронология

  • 1943 год — Норберт Винер вместе с соратниками публикует работу о кибернетике. Основной идеей является представление сложных биологических процессов математическими моделями.
  • 1943 год — Маккалок и Питтс формализуют понятие нейронной сети в фундаментальной статье о логическом исчислении идей и нервной активности[1].
  • 1949 год — Хебб предлагает первый алгоритм обучения.
  • В 1958 году Розенблаттом изобретен перцептрон. Перцептрон обретает популярность — его используют для распознавания образов, прогнозирования погоды и т. д. Казалось, что построение полноценного искусственного интеллекта уже не за горами.
  • В 1960 году Уидроу (Widrow) совместно со своим студентом Хоффом на основе дельта-правила (формулы Уидроу) разработали Адалин, который сразу начал использоваться для задач предсказания и адаптивного управления. Адалин был построен на базе созданных ими же (Уидроу — Хоффом) принципально новых элементах — мемисторах[2]. Сейчас Адалин (адаптивный сумматор) является стандартным элементом многих систем обработки сигналов.[3]
  • В 1961 году под руководством М. М. Бонгарда разработана программа «Кора»: «…задача Коры — поиск разделяющего правила после того, как найдены операторы, дающие достаточно четкие (коротко кодируемые) характеристики объекта или его частей». Программа Кора нашла применение, в частности, для распознавания нефтеносных пластов.
  • В 1969 году Минский публикует формальное доказательство ограниченности перцептрона и показывает, что он неспособен решать некоторые задачи (Проблема «четности» и «один в блоке»), связанные с инвариантностью представлений. Интерес к нейронным сетям резко спадает.
  • 1974 год — Пол Дж. Вербос[4] и А. И. Галушкин[5] одновременно изобретают алгоритм обратного распространения ошибки для обучения многослойных перцептронов. Изобретение не привлекло особого внимания.
  • 1975 год — Фукушима представляет Когнитрон — самоорганизующуюся сеть, предназначенную для инвариантного распознавания образов, но это достигается только при помощи запоминания практически всех состояний образа.
  • 1982 год — после длительного упадка, интерес к нейросетям вновь возрастает. Хопфилд показал, что нейронная сеть с обратными связями может представлять собой систему, минимизирующую энергию (так называемая сеть Хопфилда). Кохоненом представлены модели сети, обучающейся без учителя (Нейронная сеть Кохонена), решающей задачи кластеризации, визуализации данных (самоорганизующаяся карта Кохонена) и другие задачи предварительного анализа данных.
  • 1986 год — Дэвидом И. Румельхартом, Дж. Е. Хинтоном и Рональдом Дж. Вильямсом[6] и независимо и одновременно С. И. Барцевым и В. А. Охониным (Красноярская группа)[7] переоткрыт и существенно развит метод обратного распространения ошибки. Начался взрыв интереса к обучаемым нейронным сетям.

Известные применения

Распознавание образов и классификация

В качестве образов могут выступать различные по своей природе объекты: символы текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как правило, представляется как вектор значений признаков. При этом совокупность всех признаков должна однозначно определять класс, к которому относится образец. В случае, если признаков недостаточно, сеть может соотнести один и тот же образец с несколькими классами, что неверно [8]. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать ответ о принадлежности к определённому классу.

Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из её выходов должен появиться признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит[9]. Если на двух или более выходах есть признак принадлежности к классу, считается что сеть «не уверена» в своём ответе.

Принятие решений и управление

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

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

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

Прогнозирование и аппроксимация

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

Сжатие данных и Ассоциативная память

Способность нейросетей к выявлению взаимосвязей между различными параметрами дает возможность выразить данные большой размерности более компактно, если данные тесно взаимосвязаны друг с другом. Обратный процесс — восстановление исходного набора данных из части информации — называется (авто)ассоциативной памятью. Ассоциативная память позволяет также восстанавливать исходный сигнал/образ из зашумленных/поврежденных входных данных. Решение задачи гетероассоциативной памяти позволяет реализовать память, адресуемую по содержимому[10].

Этапы решения задач

  • Сбор данных для обучения;
  • Подготовка и нормализация данных;
  • Выбор топологии сети;
  • Экспериментальный подбор характеристик сети;
  • Экспериментальный подбор параметров обучения;
  • Собственно обучение;
  • Проверка адекватности обучения;
  • Корректировка параметров, окончательное обучение;
  • Вербализация сети[11] с целью дальнейшего использования.

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

Сбор данных для обучения

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

  • Репрезентативность — данные должны иллюстрировать истинное положение вещей в предметной области;
  • Непротиворечивость — противоречивые данные в обучающей выборке приведут к плохому качеству обучения сети;

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

  • Нормировка выполняется, когда на различные входы подаются данные разной размерности. Например, на первый вход сети подается величины со значениями от нуля до единицы, а на второй — от ста до тысячи. При отсутствии нормировки значения на втором входе будут всегда оказывать существенно большее влияние на выход сети, чем значения на первом входе. При нормировке размерности всех входных и выходных данных сводятся воедино;
  • Квантование выполняется над непрерывными величинами, для которых выделяется конечный набор дискретных значений. Например, квантование используют для задания частот звуковых сигналов при распознавании речи;
  • Фильтрация выполняется для «зашумленных» данных.

Кроме того, большую роль играет само представление как входных, так и выходных данных. Предположим, сеть обучается распознаванию букв на изображениях и имеет один числовой выход — номер буквы в алфавите. В этом случае сеть получит ложное представление о том, что буквы с номерами 1 и 2 более похожи, чем буквы с номерами 1 и 3, что, в общем, неверно. Для того, чтобы избежать такой ситуации, используют топологию сети с большим числом выходов, когда каждый выход имеет свой смысл. Чем больше выходов в сети, тем большее расстояние между классами и тем сложнее их спутать.

Выбор топологии сети

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

Экспериментальный подбор характеристик сети

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

Экспериментальный подбор параметров обучения

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

Собственно обучение сети

В процессе обучения сеть в определенном порядке просматривает обучающую выборку. Порядок просмотра может быть последовательным, случайным и т. д. Некоторые сети, обучающиеся без учителя, например, сети Хопфилда просматривают выборку только один раз. Другие, например, сети Кохонена, а также сети, обучающиеся с учителем, просматривают выборку множество раз, при этом один полный проход по выборке называется эпохой обучения. При обучении с учителем набор исходных данных делят на две части — собственно обучающую выборку и тестовые данные; принцип разделения может быть произвольным. Обучающие данные подаются сети для обучения, а проверочные используются для расчета ошибки сети (проверочные данные никогда для обучения сети не применяются). Таким образом, если на проверочных данных ошибка уменьшается, то сеть действительно выполняет обобщение. Если ошибка на обучающих данных продолжает уменьшаться, а ошибка на тестовых данных увеличивается, значит, сеть перестала выполнять обобщение и просто «запоминает» обучающие данные. Это явление называется переобучением сети или оверфиттингом. В таких случаях обучение обычно прекращают. В процессе обучения могут проявиться другие проблемы, такие как паралич или попадание сети в локальный минимум поверхности ошибок. Невозможно заранее предсказать проявление той или иной проблемы, равно как и дать однозначные рекомендации к их разрешению.

Проверка адекватности обучения

Даже в случае успешного, на первый взгляд, обучения сеть не всегда обучается именно тому, чего от неё хотел создатель. Известен случай, когда сеть обучалась распознаванию изображений танков по фотографиям, однако позднее выяснилось, что все танки были сфотографированы на одном и том же фоне. В результате сеть «научилась» распознавать этот тип ландшафта, вместо того, чтобы «научиться» распознавать танки[12]. Таким образом, сеть «понимает» не то, что от неё требовалось, а то, что проще всего обобщить.

Классификация по типу входной информации

  • Аналоговые нейронные сети (используют информацию в форме действительных чисел);
  • Двоичные нейронные сети (оперируют с информацией, представленной в двоичном виде).

Классификация по характеру обучения

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

Классификация по характеру настройки синапсов

Классификация по времени передачи сигнала

В ряде нейронных сетей активирующая функция может зависеть не только от весовых коэффициентов связей wij, но и от времени передачи импульса (сигнала) по каналам связи τij. По этому в общем виде активирующая (передающая) функция связи cij от элемента ui к элементу uj имеет вид: c_{ij}^* = f [ w_{ij}(t), u_i^*(t - tau_{ij}) ]. Тогда синхронной сетью называют такую сеть у которой время передачи τij каждой связи равна либо нулю, либо фиксированной постоянной τ. Асинхронной называют такую сеть у которой время передачи τij для каждой связи между элементами ui и uj свое, но тоже постоянное.

Классификация по характеру связей

Сети прямого распространения (Feedforward)

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

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

Сигнал с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя (обратная связь). Рекуррентная сеть сеть Хопфилда «фильтрует» входные данные, возвращаясь к устойчивому состоянию и, таким образом, позволяет решать задачи компрессии данных и построения ассоциативной памяти[13]. Частным случаем рекуррентных сетей является двунаправленные сети. В таких сетях между слоями существуют связи как в направлении от входного слоя к выходному, так и в обратном. Классическим примером является Нейронная сеть Коско.

Радиально-базисные функции

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

f(x)=phi left(frac{x^2}{sigma^2}right), например, f(x)=e^{-{{x^2}over{sigma^2}}},

где x — вектор входных сигналов нейрона, σ — ширина окна функции, φ(y) — убывающая функция (чаще всего, равная нулю вне некоторого отрезка).

Радиально-базисная сеть характеризуется тремя особенностями:

1. Единственный скрытый слой

2. Только нейроны скрытого слоя имеют нелинейную активационную функцию

3. Синаптические веса связей входного и скрытого слоев равны единице

Про процедуру обучения — см. литературу

Самоорганизующиеся карты

Такие сети представляют собой соревновательную нейронную сеть с обучением без учителя, выполняющую задачу визуализации и кластеризации. Является методом проецирования многомерного пространства в пространство с более низкой размерностью (чаще всего, двумерное), применяется также для решения задач моделирования, прогнозирования и др. Является одной из версий нейронных сетей Кохонена.[14] Самоорганизующиеся карты Кохонена служат, в первую очередь, для визуализации и первоначального («разведывательного») анализа данных.[15]

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

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

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

  1. Случайным образом выбирается точка данных x.
  2. Определяется ближайший к x узел карты (BMU — Best Matching Unit).
  3. Этот узел перемещается на заданный шаг по направлению к x. Однако, он перемещается не один, а увлекает за собой определенное количество ближайших узлов из некоторой окрестности на карте. Из всех двигающихся узлов наиболее сильно смещается центральный — ближайший к точке данных — узел, а остальные испытывают тем меньшие смещения, чем дальше они от BMU. В настройке карты различают два этапа — этап грубой (ordering) и этап тонкой (fine-tuning) настройки. На первом этапе выбираются большие значения окрестностей и движение узлов носит коллективный характер — в результате карта «расправляется» и грубым образом отражает структуру данных; на этапе тонкой настройки радиус окрестности равен 1-2 и настраиваются уже индивидуальные положения узлов. Кроме этого, величина смещения равномерно затухает со временем, то есть она велика в начале каждого из этапов обучения и близка к нулю в конце.
  4. Алгоритм повторяется определенное число эпох (понятно, что число шагов может сильно изменяться в зависимости от задачи).

Известные типы сетей

  • Персептрон Розенблатта;
  • Многослойный перцептрон;
  • Сеть Джордана;
  • Сеть Элмана;
  • Сеть Хэмминга;
  • Сеть Ворда;
  • Сеть Хопфилда;
  • Сеть Кохонена;
  • Когнитрон;
  • Неокогнитрон;
  • Хаотическая нейронная сеть;
  • Осцилляторная нейронная сеть;
  • Сеть встречного распространения;
  • Сеть радиальных базисных функций (RBF-сеть);
  • Сеть обобщенной регрессии;
  • Вероятностная сеть;
  • Сиамская нейронная сеть;
  • Сети адаптивного резонанса.

Отличия от машин с архитектурой фон Неймана

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

  • Массовый параллелизм;
  • Распределённое представление информации и вычисления;
  • Способность к обучению и обобщению;
  • Адаптивность;
  • Свойство контекстуальной обработки информации;
  • Толерантность к ошибкам;
  • Низкое энергопотребление.

Нейронные сети — универсальные аппроксиматоры

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

Примеры приложений

Предсказание финансовых временных рядов

Входные данные — курс акций за год. Задача — определить завтрашний курс. Проводится следующее преобразование — выстраивается в ряд курс за сегодня, вчера, за позавчера, за позапозавчера. Следующий ряд — смещается по дате на один день и так далее. На полученном наборе обучается сеть с 3 входами и одним выходом — то есть выход: курс на дату, входы: курс на дату минус 1 день, минус 2 дня, минус 3 дня. Обученной сети подаем на вход курс за сегодня, вчера, позавчера и получаем ответ на завтра. Нетрудно заметить, что в этом случае сеть просто выведет зависимость одного параметра от трёх предыдущих. Если желательно учитывать ещё какой-то параметр (например, общий индекс по отрасли), то его надо добавить как вход (и включить в примеры), переобучить сеть и получить новые результаты. Для наиболее точного обучения стоит использовать метод ОРО, как наиболее предсказуемый и несложный в реализации.

Психодиагностика

Серия работ М. Г. Доррера с соавторами посвящена исследованию вопроса о возможности развития психологической интуиции у нейросетевых экспертных систем.[17][18] Полученные результаты дают подход к раскрытию механизма интуиции нейронных сетей, проявляющейся при решении ими психодиагностических задач. Создан нестандартный для компьютерных методик интуитивный подход к психодиагностике, заключающийся в исключении построения описанной реальности. Он позволяет сократить и упростить работу над психодиагностическими методиками.

Хемоинформатика

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

См. также

  • Искусственный интеллект
  • Нейрокомпьютер
  • Blue Brain Project

Примечания

  1. Мак-Каллок У. С., Питтс В.,Логическое исчисление идей, относящихся к нервной активности // В сб.: «Автоматы» под ред. К. Э. Шеннона и Дж. Маккарти. — М.: Изд-во иностр. лит., 1956. — с.363-384. (Перевод английской статьи 1943 г.)
  2. Pattern Recognition and Adaptive Control. BERNARD WIDROW
  3. Уидроу Б., Стирнс С., Адаптивная обработка сигналов. — М.: Радио и связь, 1989. — 440 c.
  4. Werbos P. J., Beyond regression: New tools for prediction and analysis in the behavioral sciences. Ph.D. thesis, Harvard University, Cambridge, MA, 1974.
  5. Галушкин А. И. Синтез многослойных систем распознавания образов. — М.: «Энергия», 1974.
  6. Rumelhart D.E., Hinton G.E., Williams R.J., Learning Internal Representations by Error Propagation. In: Parallel Distributed Processing, vol. 1, pp. 318—362. Cambridge, MA, MIT Press. 1986.
  7. Барцев С. И., Охонин В. А. Адаптивные сети обработки информации. Красноярск : Ин-т физики СО АН СССР, 1986. Препринт N 59Б. — 20 с.
  8. BaseGroup Labs — Практическое применение нейросетей в задачах классификации
  9. Такой вид кодирования иногда называют кодом «1 из N»
  10. 1 2 Открытые системы — введение в нейросети
  11. Миркес Е. М.,Логически прозрачные нейронные сети и производство явных знаний из данных, В кн.: Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998. — 296 с ISBN 5020314102
  12. Упоминание этой истории в журнале «Популярная механика»
  13. http://www.intuit.ru/department/expert/neuro/10/ INTUIT.ru — Рекуррентные сети как ассоциативные запоминающие устройства]
  14. Kohonen, T. (1989/1997/2001), Self-Organizing Maps, Berlin — New York: Springer-Verlag. First edition 1989, second edition 1997, third extended edition 2001, ISBN 0-387-51387-6, ISBN 3-540-67921-9
  15. Зиновьев А. Ю. Визуализация многомерных данных. — Красноярск: Изд. Красноярского государственного технического университета, 2000. — 180 с.
  16. Горбань А. Н., Обобщенная аппроксимационная теорема и вычислительные возможности нейронных сетей, Сибирский журнал вычислительной математики, 1998. Т.1, № 1. С. 12-24.
  17. Gorban A.N., Rossiyev D.A., Dorrer M.G., MultiNeuron — Neural Networks Simulator For Medical, Physiological, and Psychological Applications, Wcnn’95, Washington, D.C.: World Congress on Neural Networks 1995 International Neural Network Society Annual Meeting : Renaissance Hotel, Washington, D.C., USA, July 17-21, 1995.
  18. Доррер М. Г., Психологическая интуиция искусственных нейронных сетей, Дисс. … 1998. Другие копии онлайн: [1], [2]
  19. Баскин И. И., Палюлин В. А., Зефиров Н. С., Применение искусственных нейронных сетей в химических и биохимических исследованиях, Вестн. Моск. Ун-Та. Сер. 2. Химия. 1999. Т.40. № 5.
  20. Гальберштам Н. М., Баскин И. И., Палюлин В. А., Зефиров Н. С. Нейронные сети как метод поиска зависимостей структура – свойство органических соединений // Успехи химии. — 2003. — Т. 72. — № 7. — С. 706-727.
  21. Баскин И. И., Палюлин В. А., Зефиров Н. С. Многослойные персептроны в исследовании зависимостей «структура-свойство» для органических соединений // Российский химический журнал (Журнал Российского химического общества им. Д.И.Менделеева). — 2006. — Т. 50. — С. 86-96.

Ссылки

  • Artificial Neural Network for PHP 5.x — Серьезный проект по разработке нейронных сетей на языке программирования PHP 5.X
  • Лекции по нейроинформатике
  • Лекции по машинному обучению и нейронным сетям
  • Форум, посвященный Нейронным Сетям и Генетическим Алгоритмам
  • Форум по нейросетям на BaseGroup Labs
  • Описание нейросетевых алгоритмов
  • Миркес Е. М., Нейроинформатика: Учеб. пособие для студентов с программами для выполнения лабораторных работ.
  • Forecasting Financial Markests using Artificial Neural Networks
  • Пошаговые примеры реализации наиболее известных типов нейронных сетей на MATLAB, Neural Network Toolbox
  • Лекции по нейронным сетям
  • Подборка материалов по нейронным сетям и интеллектуальному анализу
  • Статья противника применения нейронных сетей в прогнозировании цен на акции
  • Подборка статей по нейронным сетям
  • Программные проекты с использованием нейросетей
  • Простой пример сети, с комментариями. Написан на php.

Литература

  • Круглов Владимир Васильевич, Борисов Вадим Владимирович Искусственные нейронные сети. Теория и практика. — 1-е. — М.: Горячая линия — Телеком, 2001. — С. 382. — ISBN 5-93517-031-О
  • В. А. Терехов, Д. В. Ефимов, И. Ю. Тюкин Нейросетевые системы управления. — 1-е. — Высшая школа, 2002. — С. 184. — ISBN 5-06-004094-1
  • Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика = Neural Computing. Theory and Practice. — М.: Мир, 1992. — 240 с. — ISBN 5-03-002115-9
  • Саймон Хайкин Нейронные сети: полный курс = Neural Networks: A Comprehensive Foundation. — 2-е. — М.: «Вильямс», 2006. — С. 1104. — ISBN 0-13-273350-1
  • Роберт Каллан Основные концепции нейронных сетей = The Essence of Neural Networks First Edition. — 1-е. — «Вильямс», 2001. — С. 288. — ISBN 5-8459-0210-X
  • Л.Н. Ясницкий Введение в искусственный интеллект. — 1-е. — Издательский центр «Академия», 2005. — С. 176. — ISBN 5-7695-1958-4
  • Г. К. Вороновский, К. В. Махотило, С. Н. Петрашев, С. А. Сергеев Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности. — заказное. — Х.: ОСНОВА, 1997. — С. 112. — ISBN 5-7768-0293-8
  • Миркес Е. М., Нейрокомпьютер. Проект стандарта. — Новосибирск: Наука, 1999. — 337 с. ISBN 5-02-031409-9 Другие копии онлайн: [3], [4].
  • Нейроинформатика. Новосибирск: Наука, 1998.

Инженерия знаний

Информатика
Общие понятия Данные · Метаданные · Знания · Метазнание · Представление знаний · База знаний · Онтология
Жёсткие модели Продукции · Семантическая сеть · Фреймы · Логическая модель
Мягкие методы Нейронная сеть · Генетический алгоритм · Нечёткая логика · Гибридная интеллектуальная система

Искусственный интеллект

Направления Агентный подход • Адаптивное управление • Генетические алгоритмы • Инженерия знаний • Машинное обучение • Нейронные сети • Нечёткая логика • Обработка естественного языка • Распознавание образов • Эволюционные алгоритмы • Экспертные системы Изображение:Nuvola apps Talk.PNG
Применение Голосовое управление • Задача классификации • Классификация документов • Кластеризация документов • Кластерный анализ • Локальный поиск (оптимизация) • Машинный перевод • Оптическое распознавание символов • Распознавание речи • Распознавание рукописного ввода • Компьютерные игры
Исследователи ИИ Винер, Норберт • Алан Тьюринг • Глушков, Виктор Михайлович • Осипов, Геннадий С. • Попов Д. Э. • Поспелов, Дмитрий Александрович • Гаазе-Рапопорт, Модест Георгиевич • Гаврилова, Татьяна Альбертовна • Хорошевский, Владимир Фёдорович • Поспелов, Гермоген Сергеевич • Марвин Мински • Маккарти, Джон • Розенблатт, Фрэнк • Бэббидж, Чарльз • Ньюэлл, Аллен • Саймон, Герберт Александер • Хомский, Аврам Ноам • Паперт, Сеймур • Шеннон, Клод • Вейценбаум, Джозеф • Винстон, Патрик (Patrick Winston) • Финн, Виктор Константинович
Организации Singularity Institute for Artificial Intelligence
Философия ИИ Тест Тьюринга • Китайская комната
Все статьи • Портал

Wikimedia Foundation.
2010.

Понравилась статья? Поделить с друзьями:
  • Нейрокард на латинском языке как написать
  • Нейро как пишется со словами
  • Неймется человеку как пишется
  • Неймется как пишется слитно или раздельно
  • Нейл мастер на английском как пишется