06:24 

Лонгирид тайм

almaburu
Время лонгридов, и нашим лонгридом будут нейронные сети! Уже третий раз за месяц всплывает эта тема, так что вот ЕБИЧЕСКИ большая телега о том что такое соврменнные ИИ, как они работают и почему нам в ближайшее время (предположительно) не светит скайнет.

За 50 лет до конца света

Краткая история будущего или или почему нас не захватит ИИ.
(Часть первая)


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

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

История будущего начинается в 1873 году, когда Камильо Гольджи находит способ окрашивать ткани человеческого мозга и открывает нейроны. В 1887 году Саньтяго Каяль выдвигает теорию о том, что нейроны являются клетками, в 1891 году термин “нейрон” окончательно входит в научный обиход [положив начало, собственно, нейрофизиологии]

В то время как нейрофизиология продолжает развиваться следующие сто лет, в 1947 году Bell Lab создает первый транзистор, в 1958 появляется интегральная схема, а в 1971 году интел выпускает четырех разрядный микропроцессор i4004.
Он выполнен по умопомрачительному техпроцессу 10 микрометров (чуть больше 2000 транзисторов на кристалле), а его производительность находится где-то на уровне 90К инструкций в секунду (что по тем временам довольно дохуя).

В это время ВМФ США занимается задачей распознавания изображения и в 1957 году придумывает простой математический алгоритм, основанный на поведении нейронов. Этот алгоритм называется “перцептрон”.
Поскольку до изобретения первых процессоров еще 20 лет, перцептрон был сделан аналоговым - вот его фотография на вики: upload.wikimedia.org/wikipedia/en/5/52/Mark_I_p...

Что такое перцептрон и как он работает? Перцептрон - это коробка, которая получает на вход число (сигнал) и выдает другое число (другой сигнал).

Допустим,мы стоим в школе на уроке арифметики и перед нами на доске написано

1 + ? = 2
2 + ? = 3
3 + ? = 4
4 + ? = 5
...

Что будет на последней строчке?

Поскольку мы очень умные котятки, мы тут же кричим что нам надо прибавить к числу один. Но как выразить это +1 в виде математической зависимости?

Если бы мы хотели бы создать черный ящик, который бы описывал такие вычисления, мы бы описали бы его линейной функцией y = x + 1. X был бы входом, Y выходом. Можно было сделать кучу всего интересного, например домножать или делить входное число, или принимать на вход сразу несколько сигналов.

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

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

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

О том зачем они нужны мы поговорим чуть позже.

___

Зачем вообще классифицировать сигналы? Предположим, мы работаем на почте россии и пытаемся автоматически распознать почтовые индексы. (Примерно этой же проблемой занимался ВМФ США).
Цифра индекса состоит из 7 черточек, что дает нам 2^7 возможных комбинаций. Мы могли бы подобрать 9 ящиков (или 9 перцептронов), которые получали бы на вход уникальное число, выражающее уникальную комбинацию черточек. Подобрав коэффициенты перцептрона, мы бы очень скоро добились того что определенная комбинация определялась бы как число “1” или “2”.

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

Когда мы говорим о таких нулях или единицах, идущих на вход к перцептрону, мы называем их признаками.
__
Хозяйке на заметку:

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

__

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

История ИИ терниста и трудна и мы не будем фокусироваться на ней сейчас, отметим лишь, что к 2010 году были сформулированы две очень важных идеи:

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

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

Выражаясь более строго, для любого набора входных параметров (n,n1,n2) (вася пьет, трамп выиграл выборы, цены на жмых поднялись втрое) и любого набора выходных параметров (m1, m2, m3) (завтра прилетят пришельцы, зог украл святой грааль, слезы путина лечат рак), мы можем подобрать такую функцию f, которая четко определяла бы их связь.

Еще более технично и для зануд - нейронные сети полны по тьюрингу и вот например одна из публикаций на эту тему:
binds.cs.umass.edu/papers/1992_Siegelmann_COLT....


Мы пока еще не говорим ничего ни о каком интеллекте - ничего не знаем, сидим на попе ровно и перемножаем матрицы.

URL
Комментарии
2017-01-17 в 17:14 

Mona Jenks
Поправь меня, если я что-то неправильно понял.
Тезис поста: мы можем математически связать что угодно с чем угодно и само по себе наличие этой связи ни о чём не говорит.
Но что если мы установим стандарты валидности для корреляционных функций. Правила рассчёта функции f, короче. Например, если мы разобьём реальность на семантические сферы, а сферы на уровни. И будем в первую очередь учитывать корреляции только тех событий, которые происходят внутри одной сферы и на смежных уровнях. Например, берём сферу "экономика". В сфере "экономика" мы устанавливаем, что снижение среднего уровня дохода семьи коррелирует с объёмами потребления жмыха. А объёмы потребления жмыха коррелируют с темпами роста сельского хозяйства. Но при этом мы будем считать неправомерным напрямую связывать уровень дохода семьи с темпами роста сельского хозяйства, пушто тогда нам нужно будет перепрыгнуть через уровень. А сферы мы будем связывать уже через макропроцессы, которые выявятся в ходе оценки корреляций их внутренних процессов и никак иначе.

2017-01-17 в 19:56 

almaburu
Mona Jenks, я не понимаю смысл комментария

URL
2017-01-17 в 20:18 

Mona Jenks
almaburu, а я не понимаю почему то, что написано в посте, указывает на то, что нам не светит скайнет.

2017-01-17 в 20:27 

almaburu
Mona Jenks, не дописано ж еще! :)

URL
2017-01-18 в 00:04 

Mona Jenks
almaburu, всё, что ниже предполагаемого тезиса поста не имеет смысла, если тезис понят неправильно. я правильно понял тезис? мы можем математически связать что угодно с чем угодно и само по себе наличие этой связи ни о чём не говорит.

2017-01-18 в 00:55 

almaburu
Mona Jenks, я честно пытаюсь понять, соответствует ли это моему тезису и не очень понимаю, есть ли у меня там тезис.

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

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

URL
2017-01-18 в 01:08 

Mona Jenks
almaburu, ок, дождусь второй части.

     

Waking up from the Yokohama dream.

главная