Содержание

Как создать искусственный интеллект? | GeekBrains

Что надо знать и с чего начать.

https://d2xzmw6cctk25h.cloudfront.net/post/830/og_cover_image/23c7fa690587888d2bd1596f4ebba102

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

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

Стадия 1. Разочарование

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

  • Линейная алгебра;

  • Логика;

  • Теория графов;

  • Теория вероятностей и математическая статистика.

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

Стадия 2. Принятие

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

Стадия 3. Развитие

Теперь переходим непосредственно к теории ИИ. Их условно можно разделить на 3 категории:

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

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

  3. Совершенные ИИ – будущее, машинный мозг, который превзойдёт наши возможности. Именно об опасности таких разработок предупреждают Стивен Хоккинг, Элон Маск и кинофраншиза «Терминатор».

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

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

К слову, если вы всё-таки взялись за язык Python, то создать довольно простого бота можно обратившись к этому подробному мануалу. Для других языков, таких как C++ или Java, вам также не составит труда найти пошаговые материалы. Почувствовав, что за созданием ИИ нет ничего сверхъестественного, вы сможете смело закрыть браузер и приступить к личным экспериментам.

Стадия 4. Азарт

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

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

Стадия 5. Работа

Теперь же, когда вы уже вполне ясно представляете, как ИИ создавать и чем при этом пользоваться, пора выводить свои знания на новый уровень. Во-первых, для этого потребуется изучение дисциплины, которое носит название «Машинное обучение». Во-вторых, необходимо научиться работать с соответствующими библиотеками выбранного языка программирования. Для рассматриваемого нами Python это Scikit-learn, NLTK, SciPy, PyBrain и Nump. В-третьих, в развитии никуда не обойтись от функционального программирования. Ну и самое главное, вы теперь сможете читать литературу о ИИ с полным пониманием дела:

  • Artificial Intelligence for Games, Ян Миллингтон;

  • Game Programming Patterns, Роберт Найсторм;

  • AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java, Джордж Люгер, Уильям Стбалфилд;

  • Computational Cognitive Neuroscience, Рэнделл О’Рейли, Юко Мунаката;

  • Artificial Intelligence: A Modern Approach, Стюарт Рассел, Питер Норвиг.

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

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

 

Создание искусственного интеллекта / Хабр

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

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

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

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

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


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

Сформулируем аксиомы:
1. Все в мире можно посчитать по каким-нибудь правилам. (про погрешности позже)
2. Расчет по правилу, это однозначная зависимость результата от исходных данных.
3. Любые однозначные зависимости можно находить статистически.

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

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

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

И еще, ИМХО:
7. Другого способа полностью самостоятельного и независимого от человека обучения, кроме как поиска перебором правил и статистической проверки их на прогнозировании, не существует. И нужно только научиться использовать это свойство. Это свойство является частью работы мозга.

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

Конечно возможны и другие варианты представления данных, но для целей, когда на вход поступают самые различные форматы, попросту туда по началу запихиваем различные html с описаниями, этот наиболее оптимальный. Хотя маркеры можно заменить на эскейп последовательности в целях оптимизации, но объяснять с ними менее удобно. (А так же, представим, что все в ASCII, а не UTF).

Итак, сначала как и при рождении, пихаем туда все подряд интернет-страницы с описаниями и разделяем их маркером нового текста — <NewPage> — что бы этот черный ящик учился всему подряд. Маркеры я буду обозначать тегами, но подразумевается, что они просто какое-то уникальное число. По прошествии некоторого объема данных, начинаем манипулировать входящей информацией с помощью управляющих маркеров.

Под прогнозированием я понимаю такой алгоритм, который знает не только какие закономерности уже были, но и ищет постоянно новые. И потому если на вход такой программе послать последовательность
<BEG>небо<ANS>синие<END>
<BEG>трава<ANS>зеленная<END>
<BEG>потолок<ANS>…
, то он должен сообразить, что за маркером <ANS> следует цвет от указанного ранее объекта, и на месте многоточия спрогнозирует наиболее вероятный цвет потолка.

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

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

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

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

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

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

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

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

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

struct t_node {
	int type; // 0 - условие, 1 - результат
	union {
		struct { // оператор условия
			t_node* source_get;
			t_value* compare_value;
			t_node* next_if_then;
			t_node* next_if_else;
		};
		struct { // оператор результата
			t_node* dest_set;
			t_value* result_value;
		};
	}
};

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

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

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

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

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

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

Коэффициент тождественности. (Здесь двунаправленная тождественность. Но чаще она однонаправленная. Позже переобдумаю формулу.)
Количество каждой пары XY в квадрат и суммируем.
Делим на: сумма количеств в квадрате каждого значения X плюс сумма количеств в квадрате Y минус делимое.
Т.е. SUM(XY^2) / (SUM(X^2) + SUM(Y^2) — SUM(XY^2)).
Этот коэффициент от 0 до 1.

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

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

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

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

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

Получается, что каждый новый параметр у многопараметрических находится с той же линейностью, что и образование из единичных фактов в однопараметрические (ну или почти с той же). Т.е. нахождение N-параметрической пропорционально N. Что в стремлении к очень много параметрам становится почти нейронной сеткой. (Кто захочет, тот поймет.)

Конвертационные функции.

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

Вот мы взяли нашли одну какую-то функцию, и путь между данными. Вторую и третью. Теперь смотрим, можем ли среди них, у каких-либо найти у путей общую часть. Попытаться найти структуры X-P1-(P2)-P3-Y. А потом, найти еще другие подобные структуры, с подобными X-P1 и P3-Y, но различающимися P2. И тогда мы можем заключить, что имеем дело со сложной структурой, между которыми существуют зависимости. А множество найденных правил, за вычетом серединной части, объединим в групп и назовем конвертационной функцией. Таким образом образуются функции перевода, компиляции, и прочие сложные сущности.

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

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

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

Функции о которых я говорил, на самом деле не просто находимый единый кусок алгоритма, а могут состоять из последовательности других функций. Что в свою очередь не вызов процедуры, а последовательность преобразований, типа как в linux работа с pipe. Для примера, я грубо описывал прогнозирование сразу слов и фраз. Но что бы получить прогноз только символа, к этой фразе нужно применить функцию взятия этого одного символа. Или функция научилась понимать задачи на английском, а ТЗ на русском. Тогда РусскоеТЗ->ПеревестиНаАнглийский->ВыполнитьТЗнаАнглийском->Результат.

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

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

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

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

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

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

Есть другой способ определения функции в этом механизме — выдать функцию через определение. Например:
<QUERY>Перевести на английский<PARAM>стол<RES>table<END>
<QUERY>Ответить на вопрос<PARAM>цвет неба<RES>синий<END>
<QUERY>Создать программу по ТЗ<PARAM>хочу искусственный интеллект<RES>…

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

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

Прогнозировать можно что-то, что происходит по истечению какого-то времени. Объекты движутся со скоростями и ускорениями, и всякие другие возможные изменения чего-либо со временем. Прогнозировать можно и пространство. Для примера, вы заходите в незнакомую комнату, в которой стоит стол, у которого один из углов накрыт листом бумаги. Вы это угол не видите, но мыслено можете спрогнозировать, что он вероятней всего такой же прямоугольный, как и другие углы (а не закругленный), и цвет этого угла такой же как и у других углов. Конечно, прогнозирование пространства происходит с погрешностями — вдруг тот угол стола обгрызенный, и на нем пятно краски. Но и прогнозирование временных процессов тоже всегда с погрешностями. Ускорение свободного падения на земле не всегда 9.81, а зависит от высоты над уровнем моря, и от рядом стоящих гор. И измерительные приборы вы никогда не сможете сделать абсолютно точными. Т.е. прогнозирование пространства и процессов во времени всегда происходит с погрешностями, и у различных прогнозируемых сущностей различные погрешности. Но суть одинакова — алгоритмы, находимые статистически.

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

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

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

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

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

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

Альтернативным направлением реализации прогнозирования является использование рекуррентных нейронных сетей (скажем сеть Элмана). В этом направлении не нужно задумываться о природе прогнозирования, но там множество своих трудностей и нюансов. Но если это направление реализовать, то остальное использование остается прежним.

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

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

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

И анализ изображений — двинте десяток бильярдных шаров и посчитайте сколько будет столкновений. (закрывшись от звука). А два десятка или три… И причем здесь биллионы клеток?

В общем, быстродействие мозга и его многопараллельность — это очень спорный вопрос.

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

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

PPS: мое мнение, что научного определения термина «Искусственный интеллект» не существует. Существует только научно-фантастическое. А если нужна реальность, то см. п.5 в выводах по статье.

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

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

****
Исходники по этой теме, а так же дальнейшее развитие представления можете найти на сайте http://www.create-ai.org

Как создать искусственный интеллект? История первая. Что такое интеллект? / Хабр

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

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

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

Первое, что мы с вами сделаем это определим, что такое интеллект.

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

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

Мы с вами только что проделали интеллектуальную работу, и я надеюсь, что многие из вас получили новые знания. И вот почему:
  • Во-первых, я попросил вас представить себе (вообразить), «что будет если…». Вы действовали в изменившихся условиях. Возможно вам не хватало информации и знаний, вам было трудно.
  • Во-вторых, вы оказались способны к обучению, познанию, вы нашли знакомую вам аналогию сами или встретили ее в тексте, а возможно вы воспользовались интернетом или спросили совет друга.

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

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

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

  1. Чем чаще он слышит слово в разных контекстах, тем быстрее он его запомнит. Слово, которое он произнесет первым скорее всего будет – «мама».
    «Мама тебя любит»
    «Мамочка тебе ручки помоет»
    «Мама тебя целует»
    «А где мама?»
    Обучение происходит за счет избыточности данных.
  2. Чем больше каналов поступления информации задействовано, тем эффективнее обучение:
    ребенок слышит: «Мама тебя любит».
    ребенок видит улыбку мамы.
    ребенок чувствует тепло исходящее от мамы.
    ребенок чувствует вкус и запах маминого молока.
    ребенок говорит «Мама».
  3. Ребенок не сможет воспроизвести слово сразу правильно. Он будет пытаться, пробывать. «М», «Ма», «Мам», «М» … «Мама». Обучение происходит в действии, каждая следующая попытка корректируется пока не получим результат. Метод проб и ошибок. Очень важно получение обратной связи из реальности.
  4. Не воспитывайте своих детей, все равно они будут похожи на вас. Ребенок стремится быть похожим на окружающих его людей. Он подражает им и учится у них. Это один из механизмов моделирования личности, о котором мы поговорим более подробно в следующих статьях.
Какова же роль воображения?

Представьте себе, что вы едите на автомобиле по незнакомой трассе. Проезжаете знак ограничения скорости 80 км/ч. Едите дальше, и видите еще один знак ограничения скорости, но он забрызган грязью и его практически не разобрать. Вы передвигаетесь со скоростью 95 км/ч. Что будете делать? Пока вы принимали решение из-за кустов выглянул сотрудник полиции, и вы увидели лучезарную улыбку на его лице. В голове у вас мгновенно достроился «образ знака», и вы поняли почему тут стоит полицейский, и что вам срочно нужно нажать тормоз. Вы сбрасываете скорость до 55 км/ч, улыбка с лица полицейского мгновенно пропадает, и вы едите дальше.

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

Воображение – это моделирование ситуации на произвольных условиях.

Как вы уже убедились, интеллект – это не база знаний, это не набор запрограммированных реакций или следование заранее определенным правилам.

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

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

Да, мы упустили из виду восприятие, и забыли рассказать про память.

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

Что это за буква?

Может быть «К»?

Конечно нет, это же японский иероглиф «вечность».

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

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

Образ – субъективное видение реального мира, воспринимаемого при помощи органов чувств (каналов поступления информации).

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

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

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

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

А воображение – это способность достраивать незавершенный образ.

Для обобщения приведем еще один эксперимент из мира животных:

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

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

Средства для решения проблемы (завершения образа), всегда имелись в наличии, но возникновение решения требовало преобразования имеющихся образов (требовалось обучиться с помощью воображения). Шимпанзе необходимо было представить себе (умственно перечислить все возможные варианты): «что будет если я возьму палку», «а что будет если…» и наиболее вероятные предположения проверить на практике, попробовать и получить обратную связь, опять вообразить, попробовать, получить обратную связь и так далее до тех пор, пока мы не завершим образ(научимся).

Если бы распознание образа иероглифа «вечность» было бы для вас вопросом жизни и смерти, то вы обязательно нашли способ это сделать.

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

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

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

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

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

Читайте следующую статью на хабре:
Как создать искусственный интеллект? История вторая. Алгоритмы интеллектуального поиска и хранения информации

С чего начать создание Искусственного Интеллекта?

Мифы и реальность искусственного интеллекта

Ну, во-первых, с определения, что же это такое то, что мы собираемся сделать? Традиционные определения (Википедия): Искусственный Интеллект (ИИ, англ. Artificial intelligence, AI) —

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

Участники Российской ассоциации искусственного интеллекта дают следующие определения искусственного интеллекта:

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

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

Это — миф. А теперь реальность.

Прежде всего об определении понятия. В определении должно быть три составляющие:

  • термин обозначающий понятие;
  • суть ЧТО это такое;
  • свойства этой сути (КАКОЕ).

Если интерпретировать вторую часть определения Википедии то получается: Каша — свойство кашенных чего-то что-то делать с чем-то. Полный бред.

Что меня не устраивает в этих определениях? Ну, во-первых, часть из них отсылает нас к восприятию ИИ как название некой науки, которая … и дальше по тексту. Что это мне дает как творцу этого самого ИИ — да ничего. Вместо того, чтобы определить ЧТО ЭТО ТАКОЕ мне навязывается простое перечисление задач решаемых человеком о которых всем давно хорошо известно. Во-вторых другая часть определений описывает свойства ИИ, причем на том-же приблизительно уровне и похожими терминами. И уж тем более непонятно попытка «НЕ ЗНАЮ ЧТО» разделить на какие-то блоки, решающими там что-то, или предложить структуру этого «НЕ ЗНАЮ ЧТО». Другими словами из традиционных определения я не представляю «ЧТО ТАКОЕ» ИИ, а уж тем более не представляю как его сделать. Попробуем дать свое определение искусственному интеллекту, которое может приоткрыть путь к его созданию, или даже просто к пониманию того, что-же мы хотим создать. Итак, понятие ИИ состоит из двух терминов:

  • искусственный;
  • интеллект.

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

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

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

Соберем всё вместе и получим следующее определение искусственного интеллекта: Искусственный Интеллект это созданная руками человека система (это ЧТО) с свойствами (это КАКАЯ): самообучающаяся, самоадаптирующаяся к среде своего обитания, самоорганизующаяся, самомотивирующаяся, саморазвивающаяся. Рассмотрим подробно каждое свойство:

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

Интересно отметить, что если заменить слово ИСКУССТВЕННЫЙ на слово ЕСТЕСТВЕННЫЙ мы получим синоним понятию ЧЕЛОВЕК РАЗУМНЫЙ. Несколько производных от понятия «интеллект» в новом понимании. Уровень искусственного интеллекта — выведенная по общепринятой шкале оценка системы решать те или иные задачи. Заметим, что понятие «уровень интеллекта» можно отнести к любому классу сущностей начиная от человека через животных, через растения к неживой природе. Понятие «интеллектуальный человек» — в принципе некорректно, потому что любой человек по определению обладает свойством интеллектуальный. Скорее всего это идиоматическое выражение которое дословно и правильно было бы выразить так «человек с высоким уровнем интеллекта».

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

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

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

Другими словами интеллект это не процесс(способность) некоторой системы, а сама система. Теперь мы определили для себя, что мы будем создавать. Мы будем создавать систему обладающую следующими свойствами: самообучающаяся, самоадаптирующаяся к среде своего обитания, самоорганизующаяся, самомотивирующаяся. И назовем её искусственныё интеллект — рабочее название (Василиса ЯВИКС).

Что дальше?

Предыдущая…Следующая…

Дополнительная информация

Как создать искусственный интеллект? История вторая. Алгоритмы интеллектуального поиска и хранения информации


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

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

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

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

В предыдущей статье мы ввели основные термины, а именно – интеллект, обучение, воображение, память, образ, информационный поток, информационное поле. Обязательно ознакомьтесь с ней!: geektimes.ru/post/249042.

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

  • «Возможно ли написать алгоритм, который умел бы думать, размышлять?»
  • «Действительно ли мы обладаем компетенцией в ИИ?»
  • «Какие практические приложения разработаны нами?».

Сегодня мы расскажем об алгоритме поиска информации в интернете. Для того чтобы отличать его от других наших алгоритмов назовем его: «ядро v2.3». Насколько алгоритм удовлетворяет критериям интеллектуальности решать вам.

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

Размышление (мысль) — это некое изложение последовательности информационных единиц (в т.ч. трансляция образов).

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

  • «Образ самоосознания» – «Я»,
  • «Образ действия» – «Поеду»,
  • «Комплексный или объединяющий образ того чего мы хотим достичь» – «к тебе».

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

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

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

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

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

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

Другое важное свойство «точек разворота»/якорей/мотиваторов – использование их в качестве «точки входа» или «момента мысли». При этом ход мыслей получается непротиворечивым. А если начинать размышление с другого понятия (НЕ из мотиватора), то первое что происходит – это выравнивание до мотиватора. В жизни это проявляется следующим образом. Если вас попросить поразмышлять над чем-то неожиданным для вас, то скорее всего вы начнете свое рассуждение «из далека». Размышляя, вы должны дойти до некоторой точки(до мотиватора), и уже потом продолжить свое размышление в «заданном» направлении.

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

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

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

Давайте поразмышляем обладает ли описанная модель ядра этими качествами?

Самообучение, цели обучения, критерии обучения в контексте модели ИИ.

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

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

Основной технический критерий «наполнения памяти»/«создания информационного поля»/«создания целостного образа» – это оценка энтропии инфополя. Энтропия – это критерий достаточности того, что образ собран, и в тоже время основной критерий недостатка информации.

Обучение не возможно без обратной связи
Обратная связь в модели v 2.3 осуществляется следующим образом – пользователь может скорректировать «точку начала рассуждения» и выбрать направление формирования ответа(размышления) в рамках сформированного инфополя. Модель демонстрирует результат размышления пользователю и ждет коррекционное уточняющее слово (мотиватор).

Воображение в контексте модели ИИ

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

1) Запрос: «Влияние жестоких компьютерных игр на детей».
Контекст, уточнение: Без уточнения.
Размышление модели:
«Весной 1999 года Билл Клинтон в своем телевизионном обращении к Америке заявил: «Мы должны думать дважды, когда речь идет о „стрелялках от первого лица“».
Стрельбу они начали уже на автомобильной стоянке, затем бросились внутрь.

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

Авторы, профессора психологии Крейг Андерсон и Карэн Дил, утверждали: дети видят все больше жестокости в современном мире.

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

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

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

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

26 апреля 2002 года Роберт Штайнхойзер убил 17 и ранил 7 человек в гимназии имени Гуттенберга, город Эрфурт, Германия.

Авторитетная газета Франкфуртер Алльгемайне Цайтунг вышла со статьей «Программы для бойни», в которой писалось: «убийца тренировался с помощью компьютерных игр».

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

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

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

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

Честно признаюсь, я сама когда-то давно очень любила всякие стрелялки, при этом я не замечала за собой агрессии.»


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

Мотиваторы информационного поля:

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

2) Запрос: «Проблемы искусственного интеллекта».
Контекст, уточнение: «проблем».
Размышление модели:

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

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

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

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

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

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


Мотиваторы информационного поля:
Кроме—решения—проблема—
того,—исследования—исследования—
человеческой—деятельности—деятельности—
Кроме—проблема—решения—
области—искусственного—интеллекта.—
проблемы—искусственного—интеллекта—интеллекта—
области—искусственного—области—искусственного—интеллекта.—

3) Запрос: «как найти свой смысл жизни»
Контекст, уточнение: «жизн»

Размышление модели:

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

В чем смысл жизни определенного человека?

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

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

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

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

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

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

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

Цель жизни — в самой жизни, осознавая свою божественную суть!

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

Смысл жизни у всего живого один: РАЗВИТИЕ через различение добра и зла, пользы от вреда, истинных знаний от заблуждений.

Так как и предназначение у всех в этой жизни свое.

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

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

Но жизнь вернула к первоначальному.»


Мотиваторы информационного поля:
себя—этой—жизни.—
найти—себя—себя—
смысл—жизни—жизни—
жизни—каждого—жизни—
Производительность алгоритмов

Наши исследования начались более 5 лет назад и проходили на специализированном кластере. После того как определенные закономерности были найдены, необходимо было оптимизировать алгоритмы. Несколько лет потребовалось для того, чтобы «размышление» заработало на обычном серверном железе. Ядро версии 2.3 способно даже размышлять на планшете с процессором Intel Atom.

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

Возможности и развитие алгоритмов DES

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

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

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

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

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

Обучайтесь и воображайте…

Что умеют нейросети? 35 проектов, созданных искусственных интеллектом | Технологии | Блог

В 2017 году Илон Маск заявил, что искусственный интеллект — угроза для всего человечества. А уже спустя два года он с гордостью сообщил, что разрабатывает систему Neuralink — имплантирование компьютерных чипов прямо в мозг людям. Кажется, сторонники конспирологических теорий в качестве жертвы выбрали не того человека. В чем-то Маск все-таки был прав: искусственный интеллект уже сейчас может делать очень много — снимать видео, писать картины и тексты и даже создавать новых людей.

Нео-Рембрандт и кибер-сюрреализм

Нейросети, обрабатывающие изображения, стали уже нормой. Фоторедакторы, добавляющие макияж и прически на сэлфи; креативная обработка снимков а-ля классическая живопись или абстракция в духе Ван Гога — всем этим уже не удивить. Последний тренд — нейросеть Selfie 2 Waifu, которая превращает ваше лицо в аниме-персонажа. Работает кривовато, но забавно.

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

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

Самым громким событием в мире «искусственного искусства» стал портрет Эдмонда де Белами, созданный нейросетью в 2018 году. Картина оказалась настолько интересной, что была продана на аукционе Christie’s за 432 500 долларов. Французская арт-группа Obvious тренировала свою нейросеть по данным WikiArt. Прежде чем создать коллекцию полотен «La Famille de Belamy», ИИ обработал более 15 000 классических картин в период с 14 по 19 век.

Искусственный интеллект под руководством Марио Клингеманн создал серию картин, обогнавших по проработке и красоте средневековую семейку Беллами. Коллекция «Воспоминания прохожих» не стала такой же золотой птичкой на аукционах, но была оценена Sotheby’s в 40 000 евро. Выглядит творение машины и Клингеманна очень впечатляюще.

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

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

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

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

«Возьми, умри. А потом живи как бегун» — тексты от нейросетей

ИИ все увереннее входит в современную журналистику. Уже сейчас информационное агентство Bloomberg News создает примерно треть своего контента с помощью нейросети Cyborg, которая быстро обрабатывает отчеты и составляет новости. А вот статья The Guardian, также написанная искусственным интеллектом. В The Washington Post «работает» робот-журналист Heliograf, в агентстве Associated Press статьями о финансовых отчетах тоже занимается ИИ.

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

В это же время нейросети потихоньку учатся не только обрабатывать данные для сухих новостных статей, но и писать художественные книги и сочинять стихи. Долго считалось, что поэзия — это вообще нереально для нейросетей. Пока в 2013 году у «Яндекса» в соавторстве с Google не появился «Автопоэт», который сочиняет стихи из поисковых запросов. Получается у него, конечно, полная бессмыслица, но иногда от нее веет таким холодком безысходности, что, как ни крути, а проникаешься.

В 2016 году Google решили научить нейросеть писать стихи по книжкам — ИИ обработал около 11 тысяч книг и начал выдавать декадентскую поэзию, которая вполне себе может поспорить с некоторыми творениями людей:

«Он надолго замолчал.
Он смолк на мгновение.
На секунду стало тихо.
Было темно и холодно.
Возникла пауза.
Теперь мой черед».

Годом позже за дело взялись Facebook AI Research — дочернее подразделение одноименной компании по разработке ПО для искусственного интеллекта. Они поставили нейросети задачу не только считывать стихотворные размеры и рифмовать слова, но и вкладывать в это все хоть какой-то смысл. Нейросеть учили уже не по поисковым запросам и прозе, а по настоящим стихам. По итогам обучения исследователи организовали опрос, предлагая людям выборку из стихов, написанных реальными людьми и искусственными интеллектом. В половине случаев респонденты ошиблись, не отличив кибер-поэзию от реальной. Вот, например, что-то в духе Оскара Уайльда в стихах:

«The frozen waters that are dead are now
black as the rain to freeze a boundless sky,
and frozen ode of our terrors with
the grisly lady shall be free to cry».

Илон Маск тоже не тормозит — его компания OpenAI уже не первый год совершенствует программу по генерации текстов, и буквально весной 2020 года вышло уже третье обновление текстовых алгоритмов GPT-3. Эта нейросеть «знает» более 570 гигабайт текста и 175 миллиардов примеров, чтобы выдавать не просто пару осмысленных предложений, но писать целые статьи и эссе. Разработчики говорят, что их детище настолько крутое, что они не хотят выпускать нейросеть в свет, опасаясь вредоносного применения. В массовом доступе есть только упрощенный вариант предыдущей версии генератора GPT-2, который даже можно скачать вот здесь.

Российские разработчики тоже включаются в дело. В ответ на многомиллиардные разработки Илона Маска московский разработчик Михаил Гранкин создал «Порфирьевича» — текстовую нейросеть, которая создает немного текста на основе пары фраз или предложений. По сути «Порфирьевич» — это тот же GPT-2, которого Гранкин адаптировал на русский язык.

При этом получается у «Порфирьевича» не только весьма убедительно, но и частенько с чувством юмора. Еще бы, он ведь учился на творчестве Достоевского, Булгакова, Гоголя и немного Пелевина.

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

Кроме текстов, нейросети начали писать сценарии. В 2019 году ИИ создал концептуальный ролик для Nike, обучившись на рекламных слоганах компании за последние 8 лет. Получилось очень в духе бренда, стильно и симпатично. Правда, если поймать стиль у нейросети точно получилось, то с содержанием все не так неоднозначно. Вроде бы ИИ пропагандирует крутую идею про преодоление: «Жизнь несправедлива. Если бы у тебя была всего одна рука, то не просто смотри на марафон. Сначала — марафон», но потом почему-то советует вот это: «Будь не просто миром. Возьми, умри. А потом живи как бегун».

А вот у искусственного интеллекта IBM Watson получилось куда круче. Эта нейросеть написала сценарий для рекламы седана Lexus E. И она училась не по рекламным кампаниям бренда, а вообще по всем самым крутым роликам про автомобили, получившим Каннскую награду за 15 лет. Британский кинорежиссер Кевин Макдональд в соавторстве с креативным агентством The&Partnership London сняли ролик по сценарию нейросети и получилось… да круто получилось!

От Шостаковича до Егора Летова

В 2016 году разработчики «Яндекса» Иван Ямщиков и Алексей Тихонов выпустили музыкальный альбом. В его создании принимал участие Егор Летов и нейросеть. Получилась «Нейронная оборона» — искусственные тексты в духе Гражданской Обороны. На самом деле этот первый резонансный опыт нельзя полностью записать на счет ИИ. Ямщиков и Тихонов сами сочиняли музыку, сами пели, да и выборку строчек из песенных текстов для алгоритма нейросети тоже собирали сами.

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

В 2017 году состоялся еще один музыкальный эксперимент от классики. На сей раз Ямщиков и Тихонов взяли за основу стиль Александра Скрябина, а аранжировкой и сборкой получившихся аудиодорожек занималась композитор Мария Чернова.

Конечно, «Яндекс» — не единственный, кто учит нейросети сочинять музыку. В том же 2017 году вышел альбом Hello World, написанный ИИ и доведенный до ума группой композиторов и музыкантов. Вышло несколько футуристично, но очень даже интересно.

А вот песня от проекта Flow Machines, которая очень напоминает творчество The Beatles.

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

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

Новые люди и…котики!

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

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

На этом Nvidia не остановились, запустив аналогичные сервисы по созданию лошадей, молекул, картин и, конечно, котиков!
Кстати, создать своего собственного несуществующего котика можно и с помощью сервиса Affinelayer. В одном окошке вы рисуете кота, в другом нейросеть генерирует что-то по вашему рисунку. Получается далеко не так реалистично, как у предыдущего алгоритма, но так и первоисточник в виде ручного рисунка — так себе.

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

Всё, что вам нужно знать об ИИ — за несколько минут / Хабр

Приветствую читателей Хабра. Вашему вниманию предлагается перевод статьи «Everything you need to know about AI — in under 8 minutes.». Содержание направлено на людей, не знакомых со сферой ИИ и желающих получить о ней общее представление, чтобы затем, возможно, углубиться в какую-либо конкретную его отрасль.

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

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

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

Введение


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

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

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

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

Растут надежды корпораций, исследователей и обычных людей на машинное обучение для получения решений задач, не требующих от человека описания конкретных алгоритмов. Много внимания уделяется подходу «чёрного ящика». Программирование алгоритмов, используемых для моделирования и решения задач, связанных с большими объёмами данных, занимает у разработчиков очень много времени. Даже когда нам удаётся написать код, обрабатывающий большое количество разнообразных данных, он зачастую получается очень громоздким, трудноподдерживаемым и тяжело тестируемым (из-за необходимости даже для тестов использовать большое количество данных).

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

Обзор


Интеллект — способность воспринимать информацию и сохранять её в качестве знания для построения адаптивного поведения в среде или контексте

Это определение интеллекта из (англоязычной) Википедии может быть применено как к органическому мозгу, так и к машине. Наличие интеллекта не предполагает наличие сознания. Это — распространённое заблуждение, принесённое в мир писателями научной фантастики.

Попробуйте поискать в интернете примеры ИИ — и вы наверняка получите хотя бы одну ссылку на IBM Watson, использующий алгоритм машинного обучения, ставший знаменитым после победы на телевикторине под названием «Jeopardy» в 2011 г. С тех пор алгоритм претерпел некоторые изменения и был использован в качестве шаблона для множества различных коммерческих приложений. Apple, Amazon и Google активно работают над созданием аналогичных систем в наших домах и карманах.

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

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

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

Как работает наш мозг


Человеческий мозг представляет собой сложный углеродный компьютер, выполняющий, по приблизительным оценкам, миллиард миллиардов операций в секунду (1000 петафлопс), потребляющий при этом 20 Ватт энергии. Китайский суперкомпьютер под названием «Tianhe-2» (самый быстрый в мире на момент написания статьи) выполняет 33860 триллионов операций в секунду (33.86 петафлопс) и потребляющий при этом 17600000 Ватт (17.6 Мегаватт). Нам предстоит проделать определённое количество работы перед тем, как наши кремниевые компьютеры смогут сравниться со сформировавшимися в результате эволюции углеродными.

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

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

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

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

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

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

Искусственные Нейронные Сети (ИНС)


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

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

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

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

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

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

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

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

Глубокое обучение


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

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

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

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

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

Заключение


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

перевод, произношение, транскрипция, примеры использования

С момента своего создания этот план был обречён на провал. ☰

Робин Гуд являет собой вымысел, пришедший к нам из баллад. ☰

Приходите попробовать новые вкусные произведения нашего шеф-повара. ☰

Нам нравится называть животных «низшими существами». ☰

В значительной степени компания была создана одной женщиной.

В степени эта компания была создана одной женщиной.☰

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

Как люди отличаются от всего остального мироздания? ☰

Изобретатель предвидел множество вариантов использования своего творения.

Изобретатель наборел вариантов применения своего творения. ☰

Творение принадлежит вечности, а развитие — времени.

Творение принадлежит вечности, а развитие — времени. ☰

Это привело к созданию нового богатого среднего класса.

Это привело к созданию нового, зажиточного среднего класса. ☰

Эти изменения приведут к созданию новых предприятий.

Эти изменения приведут к созданию новых предприятий. ☰

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

Устойчивый рост фирмы жизненно необходим для создания и ценности, и рабочих мест. ☰

Тема творения часто встречается в кельтской мифологии.

Тема сотворения мира является повторяющимся мотивом кельтской мифологии.№

Создание национальной железнодорожной системы объединило страну.

Создание национальной системы железных дорог объединило всю страну. ☰

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

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

Спектакль продолжает развлекать публику спустя 25 лет после его создания.

Эта пьеса продолжает привлекать внимание публики и спустя 25 лет после её создания.☰

Приятно знать, что места, нетронутые с момента создания, все еще существуют.

Приятно осознавать, что существуют ещё на земле, оставшиеся нетронутыми с самого момента создания. ☰

В большинстве стран существуют относительно современные системы правления.

Системы власти распространения стран мира относительно недавно. ☰

Он бьет все / все / творение / мир / группу / ад / дьявол / мою бабушку.

Это ни с чем не сравнить. ☰

.

creation — Перевод на русский примеры английский

Предложения: создание работы создание рабочих мест

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

На основании вашего запроса эти примеры могут содержать разговорную лексику.

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

Создание необходимых и достойных рабочих мест.

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

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

Он также подчеркнул создание политик по снижению риска бедствий.

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

И последнее, но не менее важное: создает проинтеграционной платформы.

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

Необходимо оценить создание одного аварийного веб-сайта.

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

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

Поставьте вопрос о более комплексных проблемах в отношении более комплексных проблем.

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

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

Расизм был одним из его приоритетов с момента его создания .

Расизм — это одна из приоритетных проблем Комиссии с момента ее создания .

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

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

Здесь создание бюро организованной преступности имеет важное значение.

И здесь очень большое значение имеет создание бюро по борьбе с организованной преступностью.

Установить кодировку текстовых данных ПО УМОЛЧАНИЮ при создании базы данных .

При создание базы указывается кодовая страница текстовых данных ПО УМОЛЧАНИЮ.

Настройки для Создание доменных имен.

Настройка шаблонов для создания пользователей (тарифных планов).

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

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

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

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

В конечном итоге это привело к созданию Великих Северов.

В конце концов это привело к созданию «Великий Север».

создание рабочих мест и устойчивая безработица сосуществовали.

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

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

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

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

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

Несколько организаций участвовали в создании IGF Dynamic Coalitions.

Ряд организаций приняли участие в создании динамических коалиций Форума по вопросам управления Интернетом.

Фермеры также предложили создать советов по устойчивому развитию в каждом штате.

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

CREATION — Перевод на русский

EnglishSo Я спросил себя: хорошо, это модель для создания , это адаптация, которую мы делаем?

Потом я просил себя: так, а если это модель творчества, эта наша адаптация?

EnglishЭто культура, в которой люди участвуют в сотворении и воссоздании своей культуры.

Это культура, в которой люди участвуют в создании и воссоздании самой культуры.

EnglishMetaphor — это не просто обнаружение закономерностей; это создание шаблонов.

Метафора — это не только распознавание образов, но и их создание.

Английский Итак, люди здесь участвовали в сотворении множества чудес.

Присутствующие в зале участвовали в создании многих чудес.

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

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

Его величайшее творение проходит прямо здесь, в Оксфорде.

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

Мы представляем это как вызов надежды, и это стоит создания .

Мы обрамляем это как задачу, и это стоящий замысел.

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

Довольно отрадно для таких людей как я, а я — профессор, находится на вершине мироздания.

EnglishИтак, мы двое здесь, чтобы дать вам пример создания .

И так, мы сейчас вдвоем дадим вам пример сотворения.

Английский (Запись) Диктор: Дамы и господа, Сотворение жизни.

(Запись) Диктор: Дамы и господа, сотворение жизни.

Он сказал: «Можно сказать, что намерение, чтобы человек был счастлив, не входит в план сотворения

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

EnglishAnd I can — через 15 минут, я думаю, я смогу коснуться только очень довольно вспомогательной ветви creation , которую я называю «творчество».

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

Меня попросили прийти сюда и рассказать о , создании .

Меня попросили придти сюда и рассказать о творении.

EnglishAnd this единство — это то, что объединяет все creation .

Это единство объединяет все созданное.

Мы думаем, что раскрыли тайну создания .

Мы считаем, что мы разгадали загадку мироздания.

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

Ему нужны средства легитимизации международной деятельности.

английский алфавит слово создание

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

EnglishИ это то, что я думаю, это дало нам чудесное повествование — почти историю сотворения , если хотите, — о Вселенной из современной науки за последние несколько десятилетий.

Что, на первый взгляд, не выглядит упрощением. .

перевод, произношение, транскрипция, примеры использования

Компания была создана двадцать пять лет назад. ☰

Это блюдо было приготовлено нашим шеф-поваром Жаном Ришаром. ☰

Новый завод позволит создать тысячи рабочих мест. ☰

Ей не удалось произвести глубокого впечатления. ☰

Банки их деньги и ссужают под процент. ☰

Я создаю музыку более 30 лет.

Я пишу музыку более тридцати лет.☰

Ее поведение создает много проблем.

Её поведение массы проблем. ☰

Я хотел произвести впечатление успеха.

Я хотел создать впечатление успеха. ☰

Машина издает много шума.

Машина создаёт много шума. ☰

Филип Гласс создал новую музыку.

Филип Гласс создал новый вид музыки. ☰

Некоторые люди допускают, чтобы слово «творить» было присвоено только Богу.

Некоторые люди считают, что слово «создавать» применимо только к Богу. ☰

Что он делает, как не входит и начинает творить о потере времени!

Он ничего не делает, только приходит и начинает ворчать по поводу нехватки времени. №

Создал новое направление в живописи.

Он создал новое движение в живописи. ☰

создать себе воображаемый мир

создать для себя воображаемый мир ☰

Цель индустрии — создавать богатство.

Назначение промышленности является создание материальных ценностей. ☰

Краской создавали иллюзию металла.

Они использовали краски, чтобы создать иллюзию металла. ☰

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

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

Программа позволяет легко создавать красочные графики.

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

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

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

Несколько маленьких детей могут создать хаос в доме.

Несколько маленьких детей могут устроить в доме разгром. ☰

Шенберг создал двенадцатитоновую музыку

Шёнберг создал двенадцатитоновую музыку. ☰

На глине вырезан узор.

В глине сделаны насечки, создающие узор.☰

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

поиски выполненного способа создания новых рабочих мест ☰

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

Система программного обеспечения облегчает создание пользовательских настроек. ☰

Для создания вакуума внутри бутылки использовался насос.

Для создания вакуума внутри воспользовались насосом. ☰

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

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

Премьер-министр утверждает, что хочет создать в Британии бесклассовую меритократию.

Премьер-министр заявляет, что хочет создать бесклассовую меритократию в Британии. ☰

Мы пытаемся улучшить бизнес-среду.

Мы стараемся создать лучшие условия для деятельности бизнеса. ☰

.
Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *