Искусственные нейронные сети простыми словами
Когда, за бутылкой пива, я заводил разговор о нейронных сетях — люди обычно начинали боязливо на меня смотреть, грустнели, иногда у них начинал дёргаться глаз, а в крайних случаях они залезали под стол. Но, на самом деле, эти сети просты и интуитивны. Да-да, именно так! И, позвольте, я вам это докажу!
Допустим, я знаю о девушке две вещи — симпатична она мне или нет, а также, есть ли о чём мне с ней поговорить. Если есть, то будем считать это единицей, если нет, то — нулём. Аналогичный принцип возьмем и для внешности. Вопрос: “В какую девушку я влюблюсь и почему?”
Можно подумать просто и бескомпромиссно: “Если симпатична и есть о чём поговорить, то влюблюсь. Если ни то и ни другое, то — увольте.”
Но что если дама мне симпатична, но с ней не о чем разговаривать? Или наоборот?
Понятно, что для каждого из нас что-то одно будет важнее. Точнее, у каждого параметра есть его уровень важности, или вернее сказать — вес. Если помножить параметр на его вес, то получится соответственно “влияние внешности” и “влияние болтливости разговора”.
И вот теперь я с чистой совестью могу ответить на свой вопрос:
“Если влияние харизмы и влияние болтливости в сумме больше значения “влюбчивость” то влюблюсь…”
То есть, если я поставлю большой вес “болтологичности” дамы и маленький вес внешности, то в спорной ситуации я влюблюсь в особу, с которой приятно поболтать. И наоборот.
Собственно, это правило и есть нейрон.
Искусственный нейрон — это такая функция, которая преобразует несколько входных фактов в один выходной. Настройкой весов этих фактов, а также порога возбуждения — мы настраиваем адекватность нейрона. В принципе, для многих наука жизни заканчивается на этом уровне, но ведь эта история не про нас, верно?
Сделаем ещё несколько выводов:
- Если оба веса будут малыми, то мне будет сложно влюбиться в кого бы-то ни было.
- Если же оба веса будут чересчур большими, то я влюблюсь хоть в столб.
- Заставить меня влюбиться в столб можно также, понизив порог влюбчивости, но прошу — не делайте со мной этого! Лучше давайте пока забудем про него, ок?
Кстати о пороге
Смешно, но параметр “влюбчивости” называется “порогом возбуждения”. Но, дабы эта статья не получила рейтинг “18+”, давайте договоримся говорить просто “порог”, ок?
Нейронная сеть
Не бывает однозначно симпатичных и однозначно общительных дам. Да и влюблённость влюблённости рознь, кто бы что ни говорил. Потому давайте вместо брутальных и бескомпромиссных “0” и “1”, будем использовать проценты. Тогда можно сказать — “я сильно влюблён (80%), или “эта дама не особо разговорчива (20%)”.
Наш примитивный “нейрон-максималист” из первой части уже нам не подходит. Ему на смену приходит “нейрон-мудрец”, результатом работы которого будет число от 0 до 1, в зависимости от входных данных.
“Нейрон-мудрец” может нам сказать: “эта дама достаточно красива, но я не знаю о чём с ней говорить, поэтому я не очень-то ей и восхищён”
Немного терминологии
К слову говоря, входные факты нейрона называются синапсами, а выходное суждение — аксоном. Связи с положительным весом называются возбуждающими, а с отрицательным — тормозящими. Если же вес равен нулю, то считается, что связи нет (мёртвая связь).
Но, судить девушку по двум характеристикам — это очень грубо. Давайте судить её по трём! Добавим ещё один факт – деньги. Который будет варьироваться от нуля (абсолютно бедная) до единицы (дочь Рокфеллера). Посмотрим, как с приходом денег изменятся наши суждения….
Для себя я решил, что, в плане очарования, деньги не очень важны, но шикарный вид всё же может на меня повлиять, потому вес денег я сделаю маленьким, но положительным.
В работе мне абсолютно всё равно, сколько денег у девушки, поэтому вес сделаю равным нулю.
Оценивать девушку только для работы и влюблённости — очень глупо. Давайте добавим, насколько с ней будет приятно путешествовать:
- Харизма в этой задаче нейтральна (нулевой или малый вес).
- Разговорчивость нам поможет (положительный вес).
- Когда в настоящих путешествиях заканчиваются деньги, начинается самый драйв, поэтому вес денег я сделаю слегка отрицательным.
Соединим все эти три схемы в одну и обнаружим, что мы перешли на более глубокий уровень суждений, а именно: от харизмы, денег и разговорчивости — к восхищению, сотрудничеству и комфортности совместного путешествия. И заметьте — это тоже сигналы от нуля до единицы. А значит, теперь я могу добавить финальный “нейрон-максималист”, и пускай он однозначно ответит на вопрос — “жениться или нет”?
Ладно, конечно же, не всё так просто (в плане женщин). Привнесём немного драматизма и реальности в наш простой и радужный мир. Во-первых, сделаем нейрон “женюсь — не женюсь” — мудрым. Сомнения же присущи всем, так или иначе. И ещё — добавим нейрон “хочу от неё детей” и, чтобы совсем по правде, нейрон “держись от неё подальше”.
Входные суждения называются “входной слой”, итоговые — “выходной слой”, а тот, что скрывается посередине, называется “скрытым”. Скрытый слой — это мои суждения, полуфабрикаты, мысли, о которых никто не знает. Скрытых слоёв может быть несколько, а может быть и ни одного.
Долой максимализм
Помните, я говорил об отрицательном влияние денег на моё желание путешествовать с человеком? Так вот — я слукавил. Для путешествий лучше всего подходит персона, у которой денег не мало, и не много. Мне так интереснее и не буду объяснять почему.
Но тут я сталкиваюсь с проблемой:
Если я ставлю вес денег отрицательным, то чем меньше денег — тем лучше для путешествий. Если положительным, то чем богаче — тем лучше,
Если ноль — тогда деньги “побоку”.
Не получается мне вот так, одним весом, заставить нейрон распознать ситуацию “ни много -ни мало”!
Чтобы это обойти, я сделаю два нейрона — “денег много” и “денег мало”, и подам им на вход денежный поток от нашей дамы.
Теперь у меня есть два суждения: “много” и “мало”. Если оба вывода незначительны, то буквально получится “ни много — ни мало”. То есть, добавим на выход ещё один нейрон, с отрицательными весами:
“Нимногонимало”. Красные стрелки — положительные связи, синие — отрицательные
Вообще, это значит, что нейроны подобны элементам конструктора. Подобно тому, как процессор делают из транзисторов, мы можем собрать из нейронов мозг. Например, суждение “Или богата, или умна” можно сделать так:
Или-или. Красные стрелки — положительные связи, синие – отрицательные
Или так:
можно заменить “мудрые” нейроны на “максималистов” и тогда получим логический оператор XOR. Главное — не забыть настроить пороги возбуждения.
Обращу ваше внимание, что добавление слоя из двух нейронов, позволило нейрону “ни много — ни мало” делать более сложное и взвешенное суждение, перейти на новый уровень логики.
От “много” или “мало” — к компромиссному решению, к более глубокому, с философской точки зрения, суждению.
А что если добавить скрытых слоёв ещё? Мы способны охватить разумом ту простую сеть, но как насчёт сети, у которой есть 7 слоёв? Способны ли мы осознать глубину её суждений? А если в каждом из них, включая входной, около тысячи нейронов? Как вы думаете, на что она способна?
Представьте, что я и дальше усложнял свой пример с женитьбой и влюблённостью, и пришёл к такой сети. Где-то там в ней скрыты все наши девять нейрончиков, и это уже больше похоже на правду. При всём желании, понять все зависимости и глубину суждений такой сети — попросту невозможно.
Для меня переход от сети 3х3 к 7х1000 — сравним с осознанием масштабов, если не вселенной, то галактики — относительно моего роста. Попросту говоря, у меня это не получится. Решение такой сети, загоревшийся выход одного из её нейронов — будет необъясним логикой.
Это то, что в быту мы можем назвать “интуицией” (по крайней мере – “одно из..”). Непонятное желание системы или её подсказка.
Но, в отличие от нашего синтетического примера 3х3, где каждый нейрон скрытого слоя достаточно чётко формализован, в настоящей сети это не обязательно так.
Если проецировать на человека, то это — какая-то его характеристика, которую ты чувствуешь, но словами объяснить не можешь.
Обучение
Несколькими строчками ранее я обмолвился о хорошо настроенной сети, чем вероятно спровоцировал немой вопрос: “А как мы можем настроить сеть, состоящую из нескольких тысяч нейронов? Сколько “человеколет” и погубленных жизней нужно на это?..
Боюсь предположить ответ на последний вопрос. Куда лучше автоматизировать такой процесс настройки — заставить сеть саму настраивать себя. Такой процесс автоматизации называется обучением.
И чтобы дать поверхностное о нём представление, я вернусь к изначальной метафоре об “очень важном вопросе”:
Мы появляемся в этом мире с чистым, невинным мозгом и нейронной сетью, абсолютно не настроенной относительно дам. Её необходимо как-то грамотно настроить, дабы счастье и радость пришли в наш дом. Для этого нам нужен некоторый опыт, и тут есть несколько путей по его добыче:
1) Обучение с учителем (для романтиков). Насмотреться на голливудские мелодрамы и начитаться слезливых романов. Или же насмотреться на своих родителей и/или друзей. После этого, в зависимости от выборки, отправиться проверять полученные знания. После неудачной попытки — повторить всё заново, начиная с романов.
2) Обучение без учителя (для отчаянных экспериментаторов). Попробовать методом “тыка” жениться на десятке-другом женщин. После каждой женитьбы, в недоумение чесать репу. Повторять, пока не поймёшь, что надоело, и ты “уже знаешь, как это бывает”.
3) Обучение без учителя, вариант 2 (путь отчаянных оптимистов). Забить на всё, что-то делать по жизни, и однажды обнаружить себя женатым. После этого, перенастроить свою сеть в соответствие с текущей реальностью, дабы всё устраивало.
Всё вышесказанное справедливо для искусственной нейронной сети типа “персептрон”. Остальные сети похожи на нее по основным принципам, но имеют свою нюансы.
Хороших вам весов и отличных обучающих выборок! Ну а если это уже и не нужно, то расскажите об этом кому-нибудь ещё.
ENG version
Источник: https://habr.com/post/369349/
Нейросети: просто о сложном
Нейросети — это такие искусственные мозги, которые могут без труда обставить лучших игроков в го или шахматы, рисовать как известные художники, водить авто, быть кассирами в магазинах, писать песни.
Пройдет лет 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) алгоритмов глубокого обучения.
История ИНС циклична, в ней встречаются как долгие периоды спада интереса, так и молниеносные взлеты. Сейчас мы имеем дело как раз с пиком интереса. За такой ажиотаж следует сказать спасибо разработке новых алгоритмов обучения. Они позволили нейросетям выйти на современный уровень.
Нейронные сети умеют обучаться?
Это и есть их главная фишка. Если алгоритмы попроще всегда реагируют на один и тот же поток данных одинаково, то нейросети ведут себя иначе.
Каждый раз, обрабатывая данные, свободные элементы нейронных сетей меняются, запоминая предыдущий опыт. С его помощью точность работы повышается и уменьшается вероятность ошибки.
Чем больше данных мы пропустим через нейросеть, тем эффективнее окажется ее работа.
Где используются нейросети?
Если на секунду задуматься и присмотреться, окажется, что на самом деле они уже применяются повсеместно.
Самый простой пример — технология распознавания голоса Google. Она была переработана с учетом ИНС еще три года назад, попутно повысив качество работы сервиса в разы. Системы распознавания лиц? Снова нейросети. Прогнозирование погоды и курса акций? Опять они же. И это не считая множества более скромных областей использования сервисов и приложений.
Например, тексты песен для альбома вымышленной группы Нейроная оборона написала нейросеть. Если вы не фанат Егора Летова, отличить оригинал от подражателей будет ох как сложно!
На уже почти готовой «Зенит-арена» тоже планируют использовать нейросеть для распознавания лиц. Если в камеру попадет фанат, известный особо буйным нравом, система сообщит об этом в службу безопасности стадиона.
И хваленая Prisma тоже использует нейросети?
Да, нашумевшая Prisma не просто накладывает на фотку фильтр, в самом деле рисует поверх вашего фото, подражая реальным художникам. Всю работу здесь здесь тоже выполняют искусственные нейронные сети. И именно поэтому программе нужно подключение к интернету.
К слову, еще в прошлом году получил популярность похожий онлайн-сервис http://deepdreamgenerator.com/. После того, как пользователь отправляет в него картинку, программа выдает изображение таким, каким его видит нейросеть, занимающаяся распознаванием объектов. Многих тогда веселили изображения, больше напоминающие визуальные галлюцинации. Но это отличный пример процесса самообучения.
В самом начале на обработанных картинках тут и там были видны мордочки собак, которые со временем исчезли, уступив место более привычным предметам обихода. Многие тогда удивлялись — откуда они берутся, если ими там даже и не пахло? Ответ прост: для начального обучения нейросети использовались как раз фотографии собак. Вот ИНС и видела их повсюду до того, как выучила новые предметы.
Нейросети обыгрывают людей?
Не так давно разработчики нейросетей Google DeepMind активно делились очередным достижением — созданием программы AlphaGo, которая смогла обыграть в го одного из сильнейших чемпионов мира, корейца Ли Сидоля.
По части программирования искусственного противника эта игра в несколько раз сложнее шахмат, ведь там число возможных положений во много раз выше.
Разработчики долгое время не могли создать программу, способную оказать достойное сопротивление профессионалам, но с привлечением нейросетей дело пошло в гору.
Утверждать о тотальном преимуществе роботов над людьми при игре в го пока рано — нас явно ждет еще немало схваток человека и машины, — но прогресс, как говорится, на лицо. Авторы AlphaGo тем временем уже поделились планами на следующее творение: боты для онлайн-стрелялок.
Может ли нейросеть подобрать мой пароль?
Может, причем, вполне успешно. Но вопрос стоит ставить иначе: стоит ли оно того? Как бы ни был умен искусственный разум, предложить что-то лучшее, чем банальный перебор вариантов, он просто не в состоянии. Результат получится не лучше, чем у самого примитивного алгоритма или простого ручного перебора.
С другой стороны, можно дать нейронной сети проанализировать все последние действия пользователя, памятные даты и дни рождения семьи и близких, наиболее частые места чекинов, любимые фильмы, книги, игры и так далее. Дело за малым — найти очень много желающих раскрыть свой настоящий пароль, на которых нейросеть могла бы обучиться.
Нейросети следят за мной?
Одна из областей использования нейросетей — распознавание лиц. В перспективе такая система сможет в реальном времени обрабатывать изображение с камер наблюдения и опознавать людей на них.
Казалось бы, самое время начинать бить тревогу — полноценный Большой брат не за горами, но давайте взглянем на ситуацию с иной точки зрения.
Во-первых, мы и сами добровольно «сливаем» немало личной информации в Сеть — вспомнить хотя бы обвинения в адрес ого ассистента Google и Windows 10.
С другой стороны, если нейросеть распознает реального террориста на входе в аэропорт, это может спасти кучу жизней, и в этом случае, может, фиг с ней с приватностью?
Нейросеть — будущий Скайнет?
Главное достоинство ИНС — это их возможность к самообучению. Это дает им невероятный потенциал в деле разработки искусственного интеллекта.
Посудите сами: запрограммировать все возможные ситуации в память робота невозможно даже в теории.
Но если искусственный разум сможет сам получать опыт, он со временем разовьется до той степени, когда окажется способен справиться даже с той ситуацией, к которой его не готовили.
Добавьте ему оболочку из металла, сервоприводы и перед нами окажется полноценный робот. Ждет ли нас восстание? Илон Маск и Стивен Хокинг, например, уже сейчас бьют тревогу. Но хочется думать, что разработчики предпримут все необходимые меры для защиты от подобного. Да и три закона робототехники Азимова станут немалым подспорьем.
Что ждет нас в будущем?
Оставим вопрос про восстание Скайнет и уничтожение человечества роботами. Давайте поговорим о вещах более реальных. Областей применения искусственных нейронных сетей очень много, а потенциал почти бесконечен.
Аутентификация, прогнозирование, распознавание всего и вся — лишь самые очевидные варианты. Скорее всего, уже через несколько лет нас ждут развитые системы искусственного интеллекта, со временем все меньше отличающиеся от живых людей.
Впрочем, не исключено, что интерес к этой теме снова спадет, а ИТ переключится на какие-нибудь квантовые компьютеры.
Источник: https://fullhub.ru/other/matrix-has-you-93798.html
Простыми словами о сложном: что такое нейронные сети?
Искусственный интеллект, нейронные сети, машинное обучение — что на самом деле означают все эти нынче популярные понятия? Для большинства непосвященных людей, коим являюсь и я сам, они всегда казались чем-то фантастическим, но на самом деле суть их лежит на поверхности.
У меня давно созревала идея написать простым языком об искусственных нейронных сетях. Узнать самому и рассказать другим, что представляет собой эта технология, как она работает, рассмотреть ее историю и перспективы.
В этой статье я постарался не залезать в дебри, а просто и популярно рассказать об этом перспективном направление в мире высоких технологий.
Немного истории
Впервые понятие искусственных нейронных сетей (ИНС) возникло при попытке смоделировать процессы головного мозга. Первым серьезным прорывом в этой сфере можно считать создание модели нейронных сетей МакКаллока-Питтса в 1943 году.
Учеными впервые была разработана модель искусственного нейрона. Ими также была предложена конструкция сети из этих элементов для выполнения логических операций. Но самое главное, учеными было доказано, что подобная сеть способна обучаться.
Следующим важным шагом стала разработка Дональдом Хеббом первого алгоритма вычисления ИНС в 1949 году, который стал основополагающем на несколько последующих десятилетий.
В 1986 году практически одновременно, независимо друг от друга американскими и советскими учеными был существенно доработан основополагающий метод обучения многослойного перцептрона. В 2007 году нейронные сети перенесли второе рождение.
Британский информатик Джеффри Хинтоном впервые разработал алгоритм глубокого обучения многослойных нейронных сетей, который сейчас, например, используется для работы беспилотных автомобилей.
Коротко о главном
В общем смысле слова, нейронные сети — это математические модели, работающие по принципу сетей нервных клеток животного организма. ИНС могут быть реализованы как в программируемые, так и в аппаратные решения.
Для простоты восприятия нейрон можно представить, как некую ячейку, у которой имеется множество входных отверстий и одно выходное. Каким образом многочисленные входящие сигналы формируются в выходящий, как раз и определяет алгоритм вычисления.
На каждый вход нейрона подаются действенные значения, которые затем распространяются по межнейронным связям (синопсисам). У синапсов есть один параметр — вес, благодаря которому входная информация изменяется при переходе от одного нейрона к другому.
Легче всего принцип работы нейросетей можно представить на примере смешения цветов. Синий, зеленый и красный нейрон имеют разные веса. Информация того нейрона, вес которого больше будет доминирующей в следующем нейроне.
Сама нейросеть представляет собой систему из множества таких нейронов (процессоров). По отдельности эти процессоры достаточно просты (намного проще, чем процессор персонального компьютера), но будучи соединенными в большую систему нейроны способны выполнять очень сложные задачи.
В зависимости от области применения нейросеть можно трактовать по-разному, Например, с точки зрения машинного обучения ИНС представляет собой метод распознавания образов.
С математической точки зрения — это многопараметрическая задача. С точки зрения кибернетики — модель адаптивного управления робототехникой.
Основным преимуществом нейросетей над обычными алгоритмами вычисления является их возможность обучения.
В общем смысле слова обучение заключается в нахождении верных коэффициентов связи между нейронами, а также в обобщении данных и выявлении сложных зависимостей между входными и выходными сигналами.
Фактически, удачное обучение нейросети означает, что система будет способна выявить верный результат на основании данных, отсутствующих в обучающей выборке.
Сегодняшнее положение
И какой бы многообещающей не была бы эта технология, пока что ИНС еще очень далеки от возможностей человеческого мозга и мышления. Тем не менее, уже сейчас нейросети применяются во многих сферах деятельности человека.
Пока что они не способны принимать высокоинтеллектуальные решения, но в состоянии заменить человека там, где раньше он был необходим.
Среди многочисленных областей применения ИНС можно отметить: создание самообучающихся систем производственных процессов, беспилотные транспортные средства, системы распознавания изображений, интеллектуальные охранные системы, робототехника, системы мониторинга качества, ые интерфейсы взаимодействия, системы аналитики и многое другое. Такое широкое распространение нейросетей помимо прочего обусловлено появлением различных способов ускорения обучения ИНС.
На сегодняшний день рынок нейронных сетей огромен — это миллиарды и миллиарды долларов. Как показывает практика, большинство технологий нейросетей по всему миру мало отличаются друг от друга. Однако применение нейросетей — это очень затратное занятие, которое в большинстве случаев могут позволить себе только крупные компании.
Для разработки, обучения и тестирования нейронных сетей требуются большие вычислительные мощности, очевидно, что этого в достатке имеется у крупных игроков на рынке ИТ. Среди основных компаний, ведущих разработки в этой области можно отметить подразделение Google DeepMind, подразделение Microsoft Research, компании IBM, и Baidu.
Конечно, все это хорошо: нейросети развиваются, рынок растет, но пока что главная задача так и не решена. Человечеству не удалось создать технологию, хотя бы приближенную по возможностям к человеческому мозгу. Давайте рассмотрим основные различия между человеческим мозгом и искусственными нейросетями.
Почему нейросети еще далеки до человеческого мозга?
Самым главным отличием, которое в корне меняет принцип и эффективность работы системы — это разная передача сигналов в искусственных нейронных сетях и в биологической сети нейронов.
Дело в том, что в ИНС нейроны передают значения, которые являются действительными значениями, то есть числами. В человеческом мозге осуществляется передача импульсов с фиксированной амплитудой, причем эти импульсы практически мгновенные.
Отсюда вытекает целый ряд преимуществ человеческой сети нейронов.
Во-первых, линии связи в мозге намного эффективнее и экономичнее, чем в ИНС.
В конечном счете, импульсные сети защищены от звуковых помех. Действенные числа подвержены влиянию шумов, в результате чего повышается вероятность возникновения ошибки.
Итог
Безусловно, в последнее десятилетие произошел настоящий бум развития нейронных сетей. В первую очередь это связано с тем, что процесс обучения ИНС стал намного быстрее и проще.
Также стали активно разрабатываться так называемые «предобученные» нейросети, которые позволяют существенно ускорить процесс внедрения технологии.
И если пока что рано говорить о том, смогут ли когда-то нейросети полностью воспроизвести возможности человеческого мозга, вероятность того, что в ближайшее десятилетие ИНС смогут заменить человека на четверти существующих профессий все больше становится похожим на правду.
Для тех, кто хочет знать больше
Источник: https://gagadget.com/another/27575-prostyimi-slovami-o-slozhnom-chto-takoe-nejronnyie-seti/
Искусственные нейронные сети управления технологическими процессамиЧасть 1. Основные понятия
Как следует уже из самого названия, искусственная нейронная сеть (ИНС) является построенной по принципу организации и функционирования биологических нейронных сетей математической моделью, а также ее программным или аппаратным воплощением.
В ИНС нейрон, получивший свое название от своего биологического аналога, моделируется как небольшой сегмент компьютерного кода, который называется «персептрон». В ИНС отдельные нейроны соединяются между собой в сеть, которая посредством специального обучения определяет, как ей реагировать на те или иные раздражители.
Этот процесс является интерактивным, так как необходимо представить определенные воздействия, сравнить реакцию на них и выполнить необходимую коррекцию для ответа.
Способность к обучению ИНС дает большую гибкость для получения ответа, лежащего в основе функционирования процесса, даже с его атрибутами, которые не являются очевидными, такими как установка, возраст оборудования, накопленные в нем изменения или какой-либо иной не поддающийся численному измерению параметр.
Цели использования нейронных сетевых моделей вытекают из их возможностей:
- моделирование линейных и нелинейных процессов;
- моделирование сложных для понимания процессов;
- имитация процессов, которые трудно смоделировать с помощью первопринципных уравнений;
- моделирование процессов, основанных на не поддающихся измерению параметрах;
- сокращение времени разработки модели для сложных процессов.
Как видно, есть несколько моментов, когда нейронные сетевые модели могут быть полезны для управления производственными технологическими процессами.
Например, они могут использоваться в приложениях, в которых модель предположительно получает не внушающие доверия данные измерений, что может повлиять на рентабельность производства.
Или в тех случаях, когда требующим управления процессом из-за запаздывания в получении контрольных измерений можно манипулировать только в дискретные интервалы времени. Например, процесс в качестве обратной связи для управления может использовать данные лабораторных анализов.
Однако лабораторные измерения имеют определенное запаздывание по времени, результаты не могут быть получены мгновенно. ИНС может обучаться по лабораторным данным для создания своеобразного виртуального инструмента, который можно использовать для управления процессом на постоянной основе.
Модели на базе контроллеров могут использовать нейронные сетевые модели вместо первопринципных. Такой подход позволяет сократить время разработки и управлять процессом в том случае, когда требуется одновременно и заданное значение, и управление его изменением с использованием нескольких переменных управления.
Кроме того, в производстве всегда есть такие процессы, которые весьма тяжелы для их понимания, они протекают либо слишком сложно, либо быстро меняются, чтобы для их описания можно было использовать первопринципные модели. ИНС могут преуспеть в поиске базовой реакции процесса как отклик на определенное входное воздействие.
Архитектура ИНС
Начиная с 80-х годов, были разработаны и проанализированы различные типы архитектуры обучающихся ИНС. Выбор типа архитектуры зависит от конкретного приложения. В приложениях промышленного управления, говоря в общем, модели стремятся имитировать функцию некоторого переменного процесса.
Цель основана на базовых условиях этого процесса и данных, поступающих от его окружения. Самая простая архитектура для решения этой задачи — многослойная функционально-приближенная архитектура сети (рис. 1).
Число нейронов в скрытом слое зависит от сложности целевой функции, но в целом они варьируются от трех до девяти.
Рис. 1. Упрощенное представление функционально-приближенной искусственной нейронной сети для четырех входов с тремя нейронами в скрытом слое
Управление пространством
Важным аспектом при разработке нейронных сетевых моделей является концепция измерения и управления пространством.
Понятие «измерение пространства» — это многомерные пределы, определяемые диапазоном измерения для каждого входа, представляющего одно измерение. Массив входов называется «входным вектором».
«Управление пространством» находится в пределах измерения пространства, а его пределы и формы зависят от распределения вектора точки записей данных входного вектора, используемых для обучения.
Рис. 2. Пример контроля пространства управления с двумя входами, используемыми для обучения: а) вектор точки, которая образована из записи 1; б) вектор точки, формируемый каждой записью; в) распределение векторов точек
Покрытие пространства управления определяется распределением вектора точки (рис. 3а). Если входы образуют вектор точки, находящийся вне пространства управления (рис. 3б), модель ИНС не может быть достоверной. Это происходит потому, что какого-либо ее обучения в этом пространстве не осуществлялось.
Выбор массива данных
Первостепенное значение при выборе записей для обучения ИНС имеет обеспечение такого набора записей, который охватывает не только заданный диапазон, но и целевой отклик по всему диапазону входного сигнала. Рис. 3в иллюстрирует, как целевой отклик на входы показывает его диапазон и функцию. Процесс формирования набора данных, подходящих для обучения ИНС, включает:
- выбор целевой переменной;
- выбор входного вектора элементов;
- обработку типов данных;
- исторический интеллектуальный анализ данных и/или параметрическое тестирование.Рис. 3. Графики показывают точки допустимого пространства управления (а), недопустимого пространства управления (б) и целевой диапазон (в)
Типы данных
Для функционально-приближенной архитектуры ИНС рекомендуется использовать данные в бинарном, целочисленном представлении, а также данные с плавающей запятой. Перечисления и строковый тип данных являются частными случаями, но они могут быть использованы, когда имеют место нарушения в данных от отдельных двоичных входов.
Выбор целевых элементов ввода переменной модели
Можно утверждать, что самой сложной задачей в моделировании ИНС является выбор технологических параметров, а именно, составляющих элементов вектора входных данных модели — p1…рk.
Исходные данные модели должны быть представлены достоверными, надежными, независимыми переменными, которые оказывают наибольшее влияние на конечную цель. Когда процесс относительно прост, то наличие определенного опыта, как правило, является вполне достаточным, чтобы осуществить такой выбор.
Тем не менее в некоторых случаях этот процесс может иметь больше чем несколько переменных, и выбор правильных элементов может оказаться весьма непростой задачей.
Кроме того, особое внимание должно быть уделено минимизации числа входов, поскольку каждый ненужный вход, который используется в модели, снижает ее устойчивость, добавляет помехи и увеличивает ее конечную стоимость. Чтобы помочь исключить менее значимые входы, существует несколько удобных инструментов.
Рис. 4. Причинно-следственная диаграмма Исикавы (а) показывает все возможные влияния, которые могут повлиять на целевое измерение. Произведенное сокращение переменных до тех, которые оказывают существенное влияние на цель (б)
На рис. 4а показана так называемая диаграмма типа «рыбьей кости»5 с описанием всех возможных воздействий, которые могли бы оказать влияние на целевое измерение.
Исходя из этого необходимо стремиться уменьшить количество переменных таким образом, чтобы остались только те, которые оказывают существенное влияние на цель (рис. 4б).
Сокращение переменных этим способом может привести к значительной экономии в стоимости процесса моделирования и потребности в измерительных приборах. Кроме того, это упрощает и саму модель.
Есть ряд программ, которые, чтобы определить значение каждой переменной по отношению к цели, выполняют анализ отклонений ANOVA
Рис. 5. График анализа значимости входов ИНС показывает входы, вклад которых выше нуля. Входы ниже нуля либо незначительны, либо находятся на уровне помехи
(от англ. ANalysis Of VAriance — Прим. перев.), направленный на поиск зависимостей в экспериментальных данных путем исследования значимости различий в средних значениях. Тем не менее если число переменных возрастает, то использовать механизм ANOVA становится намного сложнее.
В одной из коммерчески доступных программ, предназначенных для определения актуальности значения входного параметра, применяется так называемый «подход дробовика», т. е., тактика широкого охвата в надежде, что туда попадется и желаемое. Как показано на рис. 5, программа использует набор данных, содержащий все входы, показанные на рис.
4а, и идентифицирует значимые данные, как это показано на рис. 4б.
Исторические данные и параметрическое тестирование
Чтобы приобрести необходимый для обучения набор данных, можно сделать интеллектуальный анализ ряда исторических данных (hystorian).
Однако условия процесса и состояние системы не всегда известны именно с того момента, когда эти данные были сгенерированы.
Поэтому здесь настоятельно рекомендуется создать перечень измерений и осуществить контроль исходных условий еще до формирования комплекта записи данных.
До начала параметрического тестирования необходимо учесть некоторые условия, т. е., выполнить следующие шаги:
- провести анализ всех опасных факторов еще до начала манипулирования процессом;
- определить пределы открытия клапанов, установок регулятора скорости и так далее, которые будут использоваться при выполнении теста;
- задать границы безопасного состояния, необходимые для того, чтобы успеть остановить процесс в случае возникновения непредвиденного развития событий;
- записать все настройки фильтра ограничения помех;
- определить время установки параметров после каждого параметрического испытательного маневра;
- определить пределы безопасности и ограничения при выполнении параметрического тестирования;
- обратить внимание на любые возможные и ожидаемые задержки в получении результатов измерений или задержки транспортирования;
- убедиться, что все точки данных записываются в базу исторических данных;
- убедиться, что все операции выполняются осознанно и в полном соответствии с процедурой испытания.
Рис. 6. Для новых или модернизируемых процессов наборы данных обычно генерируются в ходе работы системы во время параметрического тестирования после его запуска. Графики иллюстрируют манипулирование двумя клапанами (а) и тремя ответами для измерения расхода воды по показаниям трех расходомеров (б)
Для новых процессов или при модернизации имеющихся все наборы данных обычно генерируются в ходе работы системы параметрического тестирования сразу после запуска и настройки (рис. 6).
Опыт показал, что наилучшие данные для модели можно получить, когда переменная достигла стационарного состояния после параметрического испытательного маневра. Следовательно, наборы данных, полученные еще до модернизации или изменения процесса, могут не дать ожидаемой производительности.
Если производительность снижается, то может потребоваться повторное проведение параметрического теста.
Формирование записей обучающего набора данных
Когда параметрический тест завершен и данные хранятся уже в виде исторических, цель состоит в том, чтобы получить записи набора данных для обучения ИНС. На рынке есть несколько доступных пакетов программного обеспечения управления историческими данными. Многие из них имеют плагины для создания электронных таблиц. На рис. 7 показана предварительно разработанная электронная таблица.
Рис. 7. Фрагмент электронной таблицы с данными, полученными в ходе пробного тестирования и извлеченными из исторической базы
* * *
Во второй части статьи основное внимание будет уделено подготовке набора данных для обучения модели нейронной сети, самому процессу обучения, проверке модели, ее внедрению в платформу управления, а также требованиям к ИНС в части человеко-машинного интерфейса.
Источник: https://controlengrussia.com/perspektiva/nejronnye-seti-1/
Нейронные сети | искусственный интеллект
Еще одна область исследований в области искусственного интеллекта — это нейронные сети. Они были разработаны по подобию естественных нейронных сетей нервной системы человека.
Искусственные нейронные сети
Изобретатель первого нейрокомпьютера, доктор Роберт Хехт-Нильсен, дал следующее понятие нейронной сети: «Нейронная сеть — это вычислительная система, состоящая из ряда простых, сильно взаимосвязанных элементов обработки, которые обрабатывают информацию путем их динамического реагирования на внешние воздействия».
Базовая структура искусственных нейронных сетей (ИНС)
Идея ИНС базируется на убеждении, что можно имитировать работу мозга человека, создав нужные связи с помощью кремния и проводов таких как у живых нейронов и дендритов.
Человеческий мозг состоит из 100 миллиардов нервных клеток, называемых нейронами. Они связаны с другими тысячами клеток Аксонами. Раздражители из внешней среды или сигналы от органов чувств принимаются дендритами.
Эти входные сигналы создают электрические импульсы, которые быстро перемещаются через нейросеть.
Затем нейрон может посылать сообщения на другие нейроны, которые могут отправить это сообщение дальше или могут вообще ее не отправлять.
Искусственные нейронные сети состоят из нескольких узлов, которые имитируют биологические нейроны человеческого мозга. Нейроны соединены между собой и взаимодействуют друг с другом. Узлы могут принимать входные данные и выполнять простейшие операции над данными. В результате этих операций данные передаются другим нейронам. Выходные данные для каждого узла называются его активацией.
Каждое звено связано с весом. ИНС способны к обучению, которое осуществляется путем изменения значения веса. На следующем рисунке показана простая ИНС:
Типы искусственных нейронных сетей
Есть два типа искусственных нейронных сетевых топологий — с прямой связью и обратной связью.
Нейронные сети с прямой связью
Поток информации является однонаправленным. Блок передает информацию на другие единицы, от которых он не получает никакой информации. Нет петли обратной связи. Они имеют фиксированные входы и выходы.
Нейронные сети с обратной связью
Здесь, допускаются петли обратной связи.
Как работают искусственные нейронные сети
В топологии показаны схемы, каждая стрелка представляет собой связь между двумя нейронами и указывает путь для потока информации. Каждая связь имеет вес, целое число, которое контролирует сигнал между двумя нейронами.
Если сеть создает «хороший» и «нужный» выход, то нет необходимости корректировать вес. Однако если сеть создает «плохой» или «нежелательный» вывод или ошибку, то система корректирует свои весовые коэффициенты для улучшения последующих результатов.
Машинное обучение в искусственных нейронных сетях
ИНС способны к обучению, и они должны быть обучены. Существует несколько стратегий обучения
Обучение — включает в себя учителя, который подает в сеть обучающую выборку на которые учитель знает ответы. Сеть сравнивает свои результаты с ответами учителя и корректирует свои весовые коэффициенты.
Обучение с подкреплением — эта стратегия, построенная на наблюдении. Сеть принимает решение наблюдая за своим окружением. Если наблюдение является отрицательным, сеть корректирует свои веса, чтобы иметь возможность делать разные необходимые решения.
Алгоритм обратного распространения
Подробное об этом способе обучения нейронной сети можно прочитать тут метод обратного распространения ошибки.
Байесовские сети (БС)
Эти графические структуры для представления вероятностных отношений между набором случайных переменных.
В этих сетях каждый узел представляет собой случайную переменную с конкретными предложениями. Например, в медицинской диагностике, узел Рак представляет собой предложение, что пациент имеет рак.
Ребра, соединяющие узлы представляют собой вероятностные зависимости между этими случайными величинами. Если из двух узлов, один влияет на другой узел, то они должны быть связаны напрямую. Сила связи между переменными количественно определяется вероятностью, которая связан с каждым узлом.
Есть только ограничение на дугах в БН, вы не можете вернуться обратно к узле просто следуя по направлению дуги. Отсюда БНС называют ациклическим графом.
Структура БН идеально подходит для объединения знаний и наблюдаемых данных. БН могут быть использованы, чтобы узнать причинно-следственные связи и понимать различные проблемы и предсказывать будущее, даже в случае отсутствия данных.
Где используются нейронные сети
-
Они способны выполнять задачи, которые просты для человека, но затруднительны для машин:
-
Аэрокосмические — автопилот самолета;
-
Автомобильные — автомобильные системы наведения;
-
Военные — сопровождение цели, автопилот, распознавание сигнала/изображения;
-
Электроника — прогнозирование, анализ неисправностей, машинное зрение, синтез голоса;
-
Финансовые — оценка недвижимости, кредитные консультанты, ипотека, портфель торговой компании и др.
-
Обработка сигнала — нейронные сети могут быть обучены для обработки звукового сигнала.
искусственные нейронные сети
Источник: https://neuronus.com/stat/1271-nejronnye-seti-iskusstvennyj-intellekt.html
Add comment