Время лонгридов, и нашим лонгридом будут нейронные сети! Уже третий раз за месяц всплывает эта тема, так что вот ЕБИЧЕСКИ большая телега о том что такое соврменнные ИИ, как они работают и почему нам в ближайшее время (предположительно) не светит скайнет.
За 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....
Мы пока еще не говорим ничего ни о каком интеллекте - ничего не знаем, сидим на попе ровно и перемножаем матрицы.
За 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....
Мы пока еще не говорим ничего ни о каком интеллекте - ничего не знаем, сидим на попе ровно и перемножаем матрицы.