Как создать ии в домашних условиях.

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

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

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

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

Я говорю о сайте http://iii.ru (Ай-я-яй.ру)
С помощью этого ресурса мы создадим так называемого “инфа”.
Что это за зверь такой, Инф? Инф – небольшой персонаж (зверек или человек или чудо-юдо) который может разговаривать с человеком в интернете (да-да, ещё его можно назвать чат-ботом). Зверя этого можно отправить другу, на домашнюю страничку, запихать в подпись в форуме, в общем, куда только пожелает Ваша фантазия!
Поначалу ваш инф будет, конечно малость “туповатым”, но это мы можем исправить обучая его!

Давайте посмотрим подробнее, как всё это делается:

При заходе на сайт мы попадаем в так называемый “гараж ”, где можем пообщаться с несколькими готовыми инфами и приступить к созданию своего!

Чтобы начать создание собственного персонажа, нужно зарегистрироваться. Для этого на экране гаража кликаем на кнопку “Хочу инфа” и после заполнения пары строчек о себе и прочтения лицензионного соглашения, жмём на кнопку “Зарегистрироваться”.

Теперь мы попадаем на экран создания персонажа-инфа.

Нужно выбрать персонажа “человек”, “зверь” или ещё какое чудо-юдо

Настраиваем внешность – рот, нос, глаза, прочие принадлежности. Если в дальнейшем не понравится – не отчаивайтесь, всё это можно будет подправить.

Теперь рассмотрим самое интересное – обучение персонажа. Нажимаем на вкладку “Обучение”. Открывается список возможных способов:

Анкета – заполняем информацию о своем инфе, меняем ему имя, если захочется и т.д.

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

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

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

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

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

  1. для пар, у которых анализы в норме, но беременность не наступает;
  2. при положительном ВИЧ статусе женщины, чтобы не заразить партнера;
  3. у женщин, не имеющих постоянного партнера;
  4. если партнер женщины не желает иметь детей;
  5. при проблемах со спермой у мужчины ( , субфертильная сперма) и обращении к донорской сперме;
  6. после перенесенных заболеваний или травм у партнера (паротит, гонорея, сифилис, туберкулез, гепатит, перегрев, облучение);
  7. при эякуляторно-сексуальных расстройствах у мужчин;
  8. при вагинизме у женщин (сокращение влагалищных мышц и промежности с невозможностью полого акта);
  9. для пар с иммунологическим бесплодием;
  10. для женщин, желающим зачать ребенка самостоятельно (в т.ч. у лесбийских пар, у и др.)

Преимущества

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

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

Минусы искусственной инсеминации

Хотя метод инсеминации на дому имеет массу преимуществ и считается довольно эффективным, однако эта процедура имеет и некоторые минусы. К ним можно отнести:

  • рекомендуется не более 2-4 раз использования этого метода: искусственная инсеминация становится неэффективной при ее многократном использовании;
  • малая эффективность метода у женщин старше 35 лет;
  • этот метод намного менее эффективен (результативность в 15-30%), чем метод традиционного ЭКО (результативность составляет 40-60%).

Условия успешной инсеминации

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

  1. нормальное строение матки и отсутствие аномалий (кроме );
  2. хорошая проходимость маточных труб;
  3. состояние овуляции;
  4. преовуляторный фолликул;
  5. отсутствие общих и гинекологических инфекционных заболеваний.

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

Кому противопоказана инсеминация

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

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

Подготовка к инсеминации в домашних условиях

Кажущаяся простой (на первый взгляд) процедура инсеминации требует тщательной подготовки.

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

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

  • половых инфекций;
  • гепатитов;
  • сифилиса.

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

Кроме того, для процедуры необходимо приобрести:

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

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

Иногда такой метод оплодотворения требует 2-3 попытки. Инсеминацию более 4 раз считают неэффективной.

Как производится процедура дома

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

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

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

Последовательность процедуры

  1. Вначале необходимо подготовить свежую донорскую сперму, помещенную в специальный контейнер. Партнер или муж должен вымыть руки и член перед мастурбацией. Сперма является максимально жизнеспособной первые 2-3 часа после ее получения.
  2. Подождать около 15-20 минут для разжижения спермы.
  3. При данной процедуре сама женщина очень плавно вводит сперму с помощью стерильного шприца со специальным наконечником во влагалище. Однако удобнее, чтобы это делал муж или другой помощник.

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

  1. Предварительно из шприца удаляется воздух. Самостоятельное введение спермы не совсем удобно: приходится вставлять во влагалище специальное зеркальце для контролирования процесса.
  2. Перед введением спермы во влагалище вводится зеркальце (на глубину 2-3 см). После этого туда же осторожно вводится наконечник, не доводя его близко до маточной шейки. Самостоятельное введение сперматозоидов в матку опасно травматизмом и инфицированием.
  3. Затем необходимо нажать на поршень шприца и выпустить сперму у самого основания шейки матки.
  4. Полежать с приподнятым тазом 30-40 минут. При этом шанс у сперматозоидов достигнуть цели будет выше, также это сохранит сперму от вытекания.

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

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

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

Иногда женщины прибегают при ИИ к использованию влагалищного расширителя. Рассмотрим, как это происходит:

  1. Расширитель вводится слегка наклоненный, под углом 45 градусов.
  2. Необходимо раздвинуть лапки расширителя на 2-3 см, чтобы шейка матки оказалась в проеме.
  3. В этом положении расширитель фиксируется (в модели сделан фиксатор).
  4. Нельзя двигать расширитель в раздвинутом положении, чтобы влагалище при этом не травмировалось.
  5. К шприцу крепится удлинитель, при этом надо удостовериться в крепости и надежности фиксации.
  6. Только после этого во влагалище вводится шприц для введения спермы.
  7. После введения спермы крепление расширителя осторожно ослабляют, не меняя угол наклона в 45 градусов.
  8. Когда расширитель вернулся в исходное положение, его извлекают из влагалища.

Возможные осложнения после инсеминации

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

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

Чего не надо делать во время инсеминации дома

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

  1. Использование слюны и смазок может повредить сперматозоидам.
  2. Нельзя использовать один набор инструментов дважды.
  3. Запрещено впрыскивание спермы в шейку матки, так как это может привести к шоку женщины.

Отзывы

Надежда, 37 лет

Делала ИИ два раза и оба неэффективно. Думаю, такую сложную операцию дома нормально не сделаешь.

Светлана, 34 года

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

Валентина, 41 год

Я очень сомневаюсь в эффективности инсеминации дома. С моими проблемами по гинекологии я и в клинике методом ЭКО забеременела только со 2 раза. Какая там инсеминация в моем случае?

Виолетта, 32 года

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

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

  • Tutorial

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

Под катом gif-файлов мегабайт на 10.

Об игре

В игре вы управляете мотоциклом, который оставляет за собой стену из света. Игровое поле ограничено, а у соперников такие же мотоциклы. Мотоцикл едет постоянно, вы лишь можете поворачивать. Свободное место на поле кончается, и избегать препятствия становится сложнее. Побеждает тот, кто дольше всех продержится. Клон игры я сделал браузерным многопользовательским с использованием node.js и socket.io. Управление из двух кнопок – поворот влево и поворот вправо.

Интерфейс бота

Так как я использую socket.io, то обработка игроков на сервере у меня была в виде работы над массивом специальных объектов socket, которые создаёт socket.io. Из этих объектов я использовал только id, функции emit и broadcast. А значит безболезненно для самой игры можно реализовать интерфейс socket и использовать его в обработке, будто играет ещё один пользователь. Я назвал класс BotSocket .
Метод emit(event, data) у бота выполняет почти такие же действия что и у клиента при входящих данных от сервера, а именно:
  1. Сохраняет данные обо всех играющих мотоциклах при их добавлении
  2. Сохраняет ссылку на свой мотоцикл при его добавлении
  3. Обновляет данные обо всех играющих мотоциклах
  4. Сбрасывает состояния при перезапуске игры
Для передачи команд управления своим мотоциклом на сервер потребовалось сохранить ссылку на объект игры, который обрабатывает такие команды от обычных пользователей. Метод класса Game у меня назван onControl(socket, data) , поэтому я добавил метод в BotSocket
BotSocket.prototype.control = function(data) { this.game.onControl(this, data); };
При поступлении от сервера команды обновления данных мотоциклов (было совершено их передвижение) я проверяю, есть ли у меня вообще подконтрольный мотоцикл, не столкнулся ли он еще и был ли он перемещён, и, в случае успеха, я вызываю основной метод для работы ИИ - update() .
Интерфейс готов, теперь можно добавить сам ИИ.

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

Как бы громко это не звучало, но в играх игроков, за которых играет компьютер, принято называть именно ИИ, либо ботами. Объект BotSocket обладает необходимыми данными об игре, чтобы принять решение. Вариантов решения может быть всего три:
  1. Ничего делать, ехать прямо
  2. Повернуть направо
  3. Повернуть налево

Когда я решил написать бота, я понятия не имел, как это можно сделать. Я попробовал очень простой код:
BotSocket.prototype.update = function() { var r = Math.random(); if (r > 0.95) { this.control({"button": "right"}); } else if (r >
Поведение было примерно таким:

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

Но хотелось, чтобы он жил как можно больше. Я стал искать информацию о том, как пишут ИИ к играм. Нашел статьи , которые описывали разные подходы. Но я искал что-то чрезвычайно простое. Я нашел на хабре в одной из статей про бота для игры вроде Zuma упоминание волнового метода . Он же алгоритм Ли. Мне он показался очень простым и подходящим. Это алгоритм поиска кратчайшего пути из одной точки в другую по полю, где клетки могут быть либо свободными, либо занятыми. Суть простая. Мы начинаем из точки назначения, присваиваем ей значение 1 и помечаем все соседние свободные клетки цифрой на единицу больше. Затем берём все соседние свободные помеченных и снова помечаем на единицу больше. Так расширяемся на всё поле, пока не дойдем до точки назначения. А путь строим поиском из соседних по уменьшению числа, пока не дойдем до 1. Я смотрел алгоритмы поиска кратчайших путей в графах, но этот мне показался наиболее подходящим.

Я перенёс алгоритм копипастой из страницы в вики, дал ему имя BotSocket.prototype.algorithmLee . Для поля я создал сначала объект battleground , в котором при каждом обновлении помечал занятые точки с их координатами. А в алгоритме Ли сводил это поле к такому же, но с шагом 1.

Нужно было как-то определять точку назначения. Я решил выбирать её случайно через определенные интервалы времени. Сделал метод для поиска случайной свободной точки на поле:
BotSocket.prototype.getDesiredPoint = function() { var point = ; var H = Object.keys(this.battleground).length - 1; var W = Object.keys(this.battleground).length - 1; var x, y, i, j; var found = false; var iter = 0; do { i = this.getRandomInt(1, W); j = this.getRandomInt(1, H); x = i * this.moveStepSize; y = j * this.moveStepSize; if (this.battleground[x][y] === this.BG_EMPTY) { found = true; } iter++; } while (!found && iter < 100); point = ; return point; };

Теперь я мог переписать update:
BotSocket.prototype.update = function() { if (!this.desiredPoint || this.movements % this.updDestinationInterval === 0) { this.desiredPoint = this.getDesiredPoint(); } if (!this.desiredPoint) { return; } var currentPoint = ; var path = this.algorithmLee(currentPoint, this.desiredPoint); if (path && typeof path !== "undefined") { this.moveToPoint(path); } else { this.desiredPoint = this.getDesiredPoint(); } };
Здесь упоминается метод moveToPoint , который поворачивает, если нужно, чтобы достигнуть первую точку из кратчайшего пути с учётом текущего направления.

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

Бот на стороне клиента

Я решил попробовать перенести бота на клиентскую часть. Так как проект на node.js, я могу использовать написанный код для бота и на стороне клиента. Для этого я расширил BotSocket отдельным клиентским файлом, который переопределял методы emit() и control() , чтобы правильно взаимодействовать с сервером без ссылки на объект game.
Локально всё работало отлично, а после деплоя на удалённый сервер была какая-то странная картина:

Долго думая, я понял, что дело в задержке. Бот отправлял команду поворота, но она доходила после обновления его позиции на сервере, отчего он часто не мог попасть на прямой путь к желаемой точке. Но я хотел нормального бота на клиентской стороне. Поэтому решил учитывать задержку. Для этого написал снова расширение BotSocket. Статья получается длинной, так что опишу основные решения. Перед вызовом алгоритма Ли вместо текущей точки я подставлял прогнозируемое положение с учетом текущего положения и направления, а так же множителя задержки. Множитель задержки – это число, во сколько раз превосходит задержка частоту обновления положения на сервере. Предсказание будущей точки мне еще понадобилось в методе moveToPoint() .

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


Мой красненький, остальные серверные.

Самое важное – попробуйте сделать бота сами

Основная цель этой статьи – пробудить интерес к написанию бота. Я сделал много, чтобы победить вашу лень. Для этого я добавил возможность подгружать свой собственный скрипт с ботом, который будет расширять мой базовый клиентский класс. Зайдите на проект и нажмите на текст «Show options for room with your own bot», а затем на кнопку «Create room for test your own bot». Будет создана комната, где можно легко применять ботов, по умолчанию вашим ботом будет бот без учета задержки. Теперь настало время для вашего кода.
Два простых варианта для использования вашего кода в деле, используйте любой:
  1. Выкладывайте js-файл на любой сервер, который будет доступен вашему браузеру. Url к вашему скрипту вставляйте в игре рядом с кнопкой “Load your AI script”. После нажатия на эту кнопку будет создан и заполнен новый объект botSocket , у которого будет вызван метод start() .
  2. Используйте консоль браузера (Firebug – F12, Firefox - Ctrl+Shift+K, Chrome – Ctrl+Shift+J, другие – ).

Если вы определились с методом ввода вашего кода, попробуйте переопределить методы класса BotSocket . Для начала самое простое:
BotSocket.prototype.update = function() { var r = Math.random(); if (r > 0.95) { this.control({"button": "right"}); } else if (r > 0.90) { this.control({"button": "left"}); } }

После этого пересоздайте объект botSocket, введя
botSocket = null;
При этом код на странице сам пересоздаст и заполнит объект. Этим вы измените стандартное поведение бота на случайное. А дальше уже дело для вашей фантазии или глубоких знаний.
Вы так же можете подключить скрипт моего улучшенного бота с учетом задержки, вставив в url для бота https://raw.github.com/rnixik/tronode-js/master/public/javascripts/MyBotSocketClient.js

Заключение

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

Если у вас нет под рукой node.js, вы можете воспользоваться развернутыми мной приложениями:

1) tronode.livelevel.net - самая дешевая VPS на DigitalOcean,
2) tronode-js.herokuapp.com - бесплатная виртуальная единица на Heroku.

Первый, скорее всего, первым может не справиться с нагрузкой, а второй на некоторых компьютерах сбрасывает socket.io-транспорт в xhr-polling, из-за этого игра очень сильно лагает.
Если вы хотите узнать больше, о том, как я программировал игровую логику, то можете прочитать . Там же о развертке node.js и немного о графической части.

Если у вас нет аккаунта на хабре, то задать вопросы или прислать свои интересные предложения можете мне на почту [email protected].

Теги: Добавить метки

Искусственный интеллект создал нейросеть December 15th, 2017

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


Инженеры из подразделения Google Brain весной текущего года продемонстрировали AutoML. Этот искусственный интеллект умеет без участия человека производить собственные уникальнейшие ИИ. Как выяснилось совсем недавно, AutoML смог впервые создать NASNet, систему компьютерного зрения. Данная технология серьёзно превосходит все созданные ранее людьми аналоги. Эта основанная на искусственном интеллекте система может стать отличной помощницей в развитии, скажем, автономных автомобилей. Применима она и в робототехнике - роботы смогут выйти на абсолютно новый уровень.

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

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

При этом AutoML оценивает работу NASNеt и использует эту информацию для улучшения дочерней сети; этот процесс повторяется тысячи раз. Когда инженеры протестировали NASNet на наборах изображений ImageNet и COCO, она превзошла все существующие системы компьютерного зрения.

В Google официально заявили, что NASNet распознаёт с точностью равной 82,7%. Результат на 1.2 % превышает прошлый рекорд, который в начале осени нынешнего года установили исследователи из фирмы Momenta и специалисты Оксфорда. NASNet на 4% эффективнее своих аналогов со средней точностью в 43,1%.

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

При этом, конечно, возникают этические вопросы, связанные с опасениями по поводу ИИ: что, если AutoML будет создавать системы с такой скоростью, что общество просто за ними не поспеет? Впрочем, многие крупные компании стараются учитывать проблемы безопасности ИИ. Например, Amazon, Facebook, Apple и некоторые другие корпорации являются членами Партнерства по развитию ИИ (Partnership on AI to Benefit People and Society). Институт инженеров и электротехники (IEE) же предложил этические стандарты для ИИ, а DeepMind, например, анонсировал создание группы, которая будет заниматься моральными и этическими вопросами, связанными с применениями искусственного интеллекта.

Впрочем, многие крупные компании стараются учитывать проблемы безопасности ИИ. При этом, конечно, возникают этические вопросы, связанные с опасениями по поводу ИИ: что, если AutoML будет создавать системы с такой скоростью, что общество просто за ними не поспеет? Институт инженеров и электротехники (IEE) же предложил этические стандарты для ИИ, а DeepMind, например, анонсировал создание группы, которая будет заниматься моральными и этическими вопросами, связанными с применениями искусственного интеллекта. Например, Amazon, Facebook, Apple и некоторые другие корпорации являются членами Партнерства по развитию ИИ (Partnership on AI to Benefit People and Society).

Что такое искусственный интеллект?

Автором термина «искусственный интеллект» является Джон Маккарти, изобретатель языка Лисп, основоположник функционального программирования и лауреат премии Тьюринга за огромный вклад в области исследований искусственного интеллекта.
Искусственный интеллект — это способ сделать компьютер, компьютер-контролируемого робота или программу способную также разумно мыслить как человек.

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

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

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

Работает перцептрон проще некуда: он получает несколько исходных чисел, умножает каждое на «ценность» этого числа (о ней чуть ниже), складывает и в зависимости от результата выдаёт 1 или -1. Например, мы фотографируем чистое поле и показываем нашему нейрону какую-нибудь точку на этой картинке — то есть посылаем ему в качестве двух сигналов случайные координаты. А затем спрашиваем: «Дорогой нейрон, здесь небо или земля?» — «Минус один, — отвечает болванчик, безмятежно разглядывая кучевое облако. — Ясно же, что земля».

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

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

Нейронную сеть можно сделать с помощью спичечных коробков — тогда у вас в арсенале появится фокус, которым можно развлекать гостей на вечеринках. Редакция МирФ уже попробовала — и смиренно признаёт превосходство искусственного интеллекта. Давайте научим неразумную материю играть в игру «11 палочек». Правила просты: на столе лежит 11 спичек, и в каждый ход можно взять либо одну, либо две. Побеждает тот, кто взял последнюю. Как же играть в это против «компьютера»?

Очень просто.

Берём 10 коробков или стаканчиков. На каждом пишем номер от 2 до 11.

Кладём в каждый коробок два камешка — чёрный и белый. Можно использовать любые предметы — лишь бы они отличались друг от друга. Всё — у нас есть сеть из десяти нейронов!

Нейросеть всегда ходит первой. Для начала посмотрите, сколько осталось спичек, и возьмите коробок с таким номером. На первом ходу это будет коробок №11. Возьмите из нужного коробка любой камешек. Можно закрыть глаза или кинуть монетку, главное — действовать наугад.
Если камень белый — нейросеть решает взять две спички. Если чёрный — одну. Положите камешек рядом с коробком, чтобы не забыть, какой именно «нейрон» принимал решение. После этого ходит человек — и так до тех пор, пока спички не закончатся.

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

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

Источники:

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


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

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

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

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

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

В работе по интеграции эмоций в ИИ стоит выделить два направления, которые очень тесно связаны. Во-первых, определение эмоций человека по его лицу, жестикуляции и так далее (Affective computing). Это направление, которое очень интенсивно развивается в Соединенных Штатах под руководством Розалинд Пикард в MIT Media Lab. В 1997 году Пикард опубликовала свою книгу Affective Computing, послужившую отправной точкой исследований. В ее лаборатории проводятся интересные эксперименты: участники закрепляют камеры перед собой, с некой периодичностью снимают выражения лиц и одновременно собирают данные в динамике: проводимость кожи, пульс, давление и так далее, ассоциируя эмоциональную реакцию и показания нательных датчиков.

Другое направление, которым в том числе и мы занимаемся (лаборатория машинного понимания ИТИС КФУ), - Affective computation, это воспроизведение человеческих эмоций в вычислительных системах. У машин нет нейронов, нет нейромодуляторов, нет биохимии, есть только вычислительные процессы. Соответствие между вычислительными процессами и мыслительными далеко не линейно. Приходится создавать достаточно сложные теории, чтобы понять, из чего, в целом, собираются те или иные психологические феномены и как мы можем воспроизвести это в вычислительных системах.


Головной мозг человека потребляет примерно 20 Ватт, как лампочка. Последняя симуляция работы 1% головного мозга, проведенная в японском Институте RIKEN в 2013 году, потребовала 250 суперкомпьютеров. Это достаточно серьезный успех. Однако на борту каждого суперкомпьютера находилось 80 000 процессоров, которые потребляли гораздо больше чем 20 Ватт. И при этом симуляция примерно в тысячу раз медленнее реальной работы головного мозга. Пока эффективность явно не на стороне вычислительных систем. Это говорит о том, что нам нужна новая компьютерная архитектура. На ее создание нацелен проект BRAIN: правительство США выделяет $300 млн в год для воспроизведения человеческого мозга в виде микросхем и программного обеспечения.

На сегодняшний день создана нейробиологически инспирированная не-фон-Неймановская архитектура TrueNorth (фон-Неймановская - архитектура обычных компьютеров). Она закладывает основы для нового пути развития вычислительных систем: воссоздания нейронных сетей не с помощью программного обеспечения, а в виде микросхем, «железа». Новые микросхемы моделируют до миллиона нейронов. Специалисты из IBM пошли дальше: они уже создали материнскую плату, в которой собрали массив 4х4, всего 16 млн нейронов.

С одной стороны, это не так много, ибо количество нейронов в коре человеческого мозга от 19 млрд до 23 млрд, а общий объем - 86 млрд. С другой стороны, это уже интересные масштабы. Например, в коре головного мозга мыши - млекопитающего, у которого есть весь необходимый эмоциональный багаж, - только 4 млн нейронов.

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

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

Максим Таланов
кандидат технических наук, руководитель Лаборатории Машинного Понимания Казанского федерального университета, преподаватель Университета Иннополис
forbes.ru

Комментарии: 1

    Сэм Харрис

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

    Михаил Бурцев

    Почему за полвека усилий не удалось создать искусственный интеллект? И как киборги помогают понять работу мозга? Об этом рассказывает Михаил Бурцев, кандидат физико-математических наук, руководитель лаборатории нейронных систем и глубокого обучения МФТИ.

    Виталий Дунин-Барковский

    Как смоделировать мозг? Постижим ли человеческий мозг? Как алгоритмизировать сознание? И можно ли скопировать его на неорганический носитель? Ответы на эти вопросы помогает найти Виталий Дунин-Барковский, доктор физико-математических наук, профессор, заведующий отделом нейроинформатики Центра оптико-нейронных технологий НИИСИ РАН.

    Иван Иванчей

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

    Горбань А. Н.

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

    Евгений Путин

    Евгений Путин, аспирант кафедры «Компьютерные Технологии» университета ИТМО. В рамках диссертации Евгений исследует проблемы интеграции концепции выбора признаков в математический аппарат искусственных нейронных сетей. Евгений расскажет о том, как устроены нейронные сети, что они могут делать сейчас, на что будут способны в недалеком будущем и ждать ли прихода Скайнета.

    Впервые был достигнут масштаб, соответствующий человеческому мозгу - 530 миллиардов нейронов и 137 триллионов синапсов. Симуляция происходила в 1542 раза медленнее реального времени. В ней были задействованы все 1 572 864 ядер и полтора петабайта памяти.

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

    Сергей Марков

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

    Сергей Марков

    Гамбургский счет

    В 1950 году английский ученый Алан Тьюринг в статье "Вычислительные машины и разум" задался вопросом: "Может ли машина понимать человека?". Так родился знаменитый тест Тьюринга, в котором компьютер пытался обмануть людей. Но как компьютер понимает человека и чего он пока понять не может? Об этом по гамбургскому счету мы решили спросить специалиста в области машинного обучения, директора информационных технологий компании "Activebusinesscollection" Сергея Маркова.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то