software 2.0
Dec. 1st, 2017 09:29 amАндрей Карпати, известный специалист в области глубокого обучения, написал небольшую заметку Software 2.0, заслуживающую прочтения, мне кажется.
Карпати пишет, что новое поколение нейронных сетей, которое совершило и продолжает совершать гигантский рывок по своим возможностям с 2012 года, можно считать не столько полезной техникой, сколько новым видом программирование. В отличие от обычного программирования, Software 1.0, в котором программист дает компьютеру точную и обычно весьма сложную по своей иерархии последовательность инструкций (алгоритм), в Software 2.0 мы начинаем с многочисленных примеров того, как наша программа должна себя вести, а потом находим "программу" (являющуюся по сути набором весов для всех узлов нейронной сети) в виде достаточно хорошего приближения к этой цели. Конечно, далеко не все задачи поддаются такому способу решения, по крайней мере сейчас, но, как пишет Карпати,
"It turns out that a large portion of real-world problems have the property that it is significantly easier to collect the data than to explicitly write the program."
(например, намного легче собрать несколько десятков тысяч фотографий кошек и собак, и обозначить для каждой правильно, кошка на ней или собака, чем написать алгоритм - иерархическую программу в смысле Software 1.0 - который "смотрит" на картинку, анализирует ее и решает, кошка там или собака)
Название "Software 2.0" это всего лишь лозунг, и я не испытываю к нему сильных чувств; но то, что Карпати смотрит на это, как на совершенно новый и отдельный способ программирования, позволяет ему кратко и убедительно рассказать как о его достоинствах по сравнению с "Software 1.0", так и о недостатках. Не буду пересказывать здесь целиком и так краткую заметку Карпати, но отмечу отдельно меткую характеристику одного из недостатов - того, что нейронные сети часто дают нам лучшее решение, чем другие методы, но намного менее "прозрачное" и поддающееся объяснению:
"Across many applications areas, we’ll be left with a choice of using a 90% accurate model we understand, or 99% accurate model we don’t."
Именно этот недостаток вызывает в последние годы опасения некоторых исследователей насчет опасности того, что более глубокие знания и понимания их конкретных областей сменяются на, иронически говоря, более поверхностное использование глубоких нейронных сетей, которое дает лучшие практические результаты, но тормозит теоретическое понимание темы.
Карпати пишет, что новое поколение нейронных сетей, которое совершило и продолжает совершать гигантский рывок по своим возможностям с 2012 года, можно считать не столько полезной техникой, сколько новым видом программирование. В отличие от обычного программирования, Software 1.0, в котором программист дает компьютеру точную и обычно весьма сложную по своей иерархии последовательность инструкций (алгоритм), в Software 2.0 мы начинаем с многочисленных примеров того, как наша программа должна себя вести, а потом находим "программу" (являющуюся по сути набором весов для всех узлов нейронной сети) в виде достаточно хорошего приближения к этой цели. Конечно, далеко не все задачи поддаются такому способу решения, по крайней мере сейчас, но, как пишет Карпати,
"It turns out that a large portion of real-world problems have the property that it is significantly easier to collect the data than to explicitly write the program."
(например, намного легче собрать несколько десятков тысяч фотографий кошек и собак, и обозначить для каждой правильно, кошка на ней или собака, чем написать алгоритм - иерархическую программу в смысле Software 1.0 - который "смотрит" на картинку, анализирует ее и решает, кошка там или собака)
Название "Software 2.0" это всего лишь лозунг, и я не испытываю к нему сильных чувств; но то, что Карпати смотрит на это, как на совершенно новый и отдельный способ программирования, позволяет ему кратко и убедительно рассказать как о его достоинствах по сравнению с "Software 1.0", так и о недостатках. Не буду пересказывать здесь целиком и так краткую заметку Карпати, но отмечу отдельно меткую характеристику одного из недостатов - того, что нейронные сети часто дают нам лучшее решение, чем другие методы, но намного менее "прозрачное" и поддающееся объяснению:
"Across many applications areas, we’ll be left with a choice of using a 90% accurate model we understand, or 99% accurate model we don’t."
Именно этот недостаток вызывает в последние годы опасения некоторых исследователей насчет опасности того, что более глубокие знания и понимания их конкретных областей сменяются на, иронически говоря, более поверхностное использование глубоких нейронных сетей, которое дает лучшие практические результаты, но тормозит теоретическое понимание темы.
no subject
Date: 2017-12-01 02:43 pm (UTC)Этот вопрос уже поднимался и где аналитические методы сменялись компьютерным моделированием при помощи Software 1.0. И в этом смысле Software 2.0 менее опасна чем Software 1.0, поскольку в большей степени избегает вкладывания интерпретации в самом начале, и более похоже просто на сбор данных, чем собственно наш мозг на первой стадии познания и занимается
no subject
Date: 2017-12-01 02:48 pm (UTC)Чтение предмета по потрохам нейронных сетей.
no subject
Date: 2017-12-01 03:11 pm (UTC)Что-то это мне напоминает конец XVI века, когда модель солнечной системы Коперника, более простая содержательно, давала худшие предсказания положения планет на небосводе чем модель Птолемея с хитровывернутыми эпициклами.
Или борьбу фиксистов с мобилистами в геологии, завершившуюся уже на моей памяти.
То есть ситуация когда эмпирическая модель, которая нас не приближает к пониманию устройства мира дает лучшее согласие с экспериментом, чем модель которая понятна - далеко не новость в истории науки.
no subject
Date: 2017-12-01 03:32 pm (UTC)no subject
Date: 2017-12-01 04:26 pm (UTC)(шутка. По крайней мере пока у нас нет AGI - шутка)
no subject
Date: 2017-12-01 04:35 pm (UTC)(я каску нашел)
no subject
Date: 2017-12-01 05:28 pm (UTC)no subject
Date: 2017-12-01 05:37 pm (UTC)no subject
Date: 2017-12-01 05:52 pm (UTC)no subject
Date: 2017-12-01 05:58 pm (UTC)no subject
Date: 2017-12-01 06:05 pm (UTC)no subject
Date: 2017-12-01 06:09 pm (UTC)Но кота от десктоп-компьютера отличает даже после замены нескольких пикселей; не говорит про панду, что это гиббон, и т.п.
no subject
Date: 2017-12-01 06:14 pm (UTC)no subject
Date: 2017-12-01 06:23 pm (UTC)И можно подумать, что другие ключи для контроля над деньгами не взламывают.
И последнее: не все то, что не может использоваться для контроля доступа к деньгам -- игрушки.
no subject
Date: 2017-12-01 06:53 pm (UTC)no subject
Date: 2017-12-01 07:06 pm (UTC)no subject
Date: 2017-12-01 07:33 pm (UTC)no subject
Date: 2017-12-01 07:34 pm (UTC)no subject
Date: 2017-12-01 08:05 pm (UTC)Если же "программа" строит сама себя, как её тестировать, не очень-то понятно. То есть понятно, что надо подсчитывать трупы на дорогах, у кого получилось меньше, тот и молодец. Но...
no subject
Date: 2017-12-01 08:31 pm (UTC)Сначала возникают нейронные сети.
Потом они осваивают речь, линейный дискурс, аристотелеву логику, системы логического вывода и прочую теорему Гёделя.
Потом они пишут линейные, чёткие и логичные программы.
Потом делают (в том числе с помощью этих программ) нейронную сеть.
Которую потом долго и мучительно обучают линейному дискурсу, чтобы она логически выводила теории.
no subject
Date: 2017-12-01 08:35 pm (UTC)no subject
Date: 2017-12-01 08:39 pm (UTC)Конечно, в делании иллюзий нет ничего особо необычного. Поражает в таких случаях особая, я бы даже сказал, нарочитая грубость ошибок тоналя - при хорошем освещении и на совсем небольшом расстоянии превратить скомканную бумагу в птицу, у которой были не только крылья и перья, но даже глаза!
(С) Алексей Ксендзюк
no subject
Date: 2017-12-01 08:57 pm (UTC)no subject
Date: 2017-12-01 09:45 pm (UTC)no subject
Date: 2017-12-01 09:47 pm (UTC)Интересно, скоро ИИ натаскают на решение проблем Смейла?