Упомянутый ранее много раз проект "Blue Brain", как раз на то и претендует, хотя и не достиг пока результатов. Но они выбрали правильный путь - преобразование и построение математических нейро-моделей на основе нейрофизиологии.
Насколько этот путь правильный можно будет оценить только после того, как на этом пути будут достигнуты какие-то реальные успехи.
...согласитесь, пока нет никакой гарантии, что этот подход может в обозримом будущем привести к успеху.
Ну конечно же нет никаких гарантий!
Это же наука - попытка познать непознанное, как можно вообще что либо гарантировать на этом пути? Но и ожидать принципиально новых результатов копаясь в области уже известного невозможно. "Кто не рискует, тот не пьет шампанского"
Знаете, создается такое впечатление, что в последнее время ученые гонятся не за уровнем открытий, а за количеством публикаций, даже если они не имеют никакой принципиальной ценности. Мне как-то пришлось общаться в Финляндии с группой Кохонена. Они, как и следовало ожидать, работают исключительно с самоорганизующимися картами своего шефа. Так вот один пожилой профессор из этой группы жаловался: "Мы хотели модифицировать модель и использовать там нечеткую логику, а он (Кохонен) нам запретил
". Какого прорыва можно ожидать там?
На сегодняшенм уровне развития техники просто невозможно создать искусственную систему, сравнимую по сложности с человеческим мозгом (замысловатым образом связанные между собой десятки миллиардов нейронов, каждый из которых качественно сложнее персептрона Розенблатта).
Я бы не стал утверждать "невозможно". Мне кажется, причина "невозможности" не в сегодняшнем уровень техники, а в отсутствии новых знаний, идей и моделей в теории нейросетей. Зачем говорить о сотнях миллиардов нейронов человеческого мозга? ИНС, построенная по классическим моделям всего из нескольких сот нейронов может обучаться часами. Я уж не говорю о прочих явных слабостях. Сеть из миллиардов нейронов в мозге обучается за долю секунды. Если создать модель, которая позволит обучать нейросети из тысяч (не миллиардов) нейронов так же быстро, это был бы новый грандиозный прорыв в теории нейросетей. Тут можно было бы снова и смело говорить об искусственном интеллекте и прочем "нереальном".
Вы, наверное, имеете в виду какие-нибудь громоздкие вычисления? Я бы не стал утверждать, что мозг не в состоянии их проводить.
Да конечно, в состоянии. Только не с нужной скоростью и не в нужных количествах. Даже если собрать вместе миллион аутистов, вряд ли они смогут промоделировать трехмерное распространение ударной волны.
С чего вы решили, что мозг не является таким универсальным аппроксиматором?
А с чего Вы решили, что является? Попробуйте с помощью мозга построить какую-нибудь простенькую аппроксимационную модель в пространстве десяти переменных.
У нас с вами действительно ощущается терминологическая недоговоренность.
Когда я говорю о том, что может мозг, я не имею в виду того, что может человек. Вы меня понимаете? Уровень вычислений мозга лежит далеко от уровня сознания. Более того, речь идет вообще не о человеческом мозге, а о мозге, как инструменте вычислений. Давайте говорить о мозге кошечки. Вы согласны?
Сама кошечка и пять на три умножить не сможет. Когда ее создавали (кошечку), она планировалась не как инструмент вычислений, а как объект восхищения
Когда кошечка охотится за мышкой, ее мозг воспринимает и одновременно анализирует миллионы зрительных, слуховых, обонятельных, осязательных и еще всяких разных импульсов и на основе этого принимает решение. Поправьте меня, если я не прав, но, по моему, тут очевидная совсем не простенькая аппроксимационная модель в пространстве миллионов переменных. Сам факт существования этой кошечки неоспоримо говорит о том, что есть некий неизвестный нам принцип построения и функционирования нейросети, который позволяет строить и мгновенно обучать нейросети такого размера. Конечно несчастные аутисты не смогут промоделировать трехмерное распространение ударной волны, но их мозг мог бы это сделать играючи, если бы был для этого обучен.
И еще кое что сразу проясню: когда я говорю об обучении, я вкладываю в этот термин тот же смысл, что и теория нейросетей, а не психология - обучен мозг, а не аутист.
Однако закон Мурра для компьютеров уже перестал действовать, компьютеры уже почти достигли своего физического предела, а гораздо более медленный мозг справляется с вычислениями на много порядков быстрее.
Простите, какие
конкретно вычисления Вы имеете в виду?
Если нейросеть способна в принципе моделировать любую функцию от любого числа переменных, то любые вычисления. Вы не согласны?
Ну а по поводу физического предела компьютеров, так создание параллельных вычислительных структур отодвигает этот предел в какое-то совсем далекое будущее.
Наличие нескольких процессоров на компьютере еще не делает его параллельной вычислительной структурой. Необходима еще разработка параллельных алгоритмов для этих процессоров, что является совершенно не тривиальной задачей абсолютно для каждого случая. Стоимость разработки параллельных алгоритмов во много раз превышает стоимость разработки самих многопроцессорных компьютеров. Такие компьютеры известны уже лет тридцать, но ничего существенно не изменили. Не существует (кроме нейросети) универсального метода распараллелить вычисления любой функции. Если на компьютер с 1000 процессоров поставить Windows, он будет работать практически с той же скоростью, что и компьютер с двумя процессорами. Если у вас многоядерный компьютер, проведите тест загрузки ядер
Мой iMac с двуядерным процессором показывает чаще всего 95% и 5%. Как куча процессоров может преодолеть физический барьер, если алгоритмы линейные?
Мы опять уткнулись в проблему терминологии. Сформулируйте, пожалуйста, что Вы понимаете под "теорией нейросетей".
Теория нейросетей - раздел математики моделирующий вычислительные системы (искусственные нейронные сети), построенные по принципам схожим с принципами построения мозга и выполняющие функции, сходные с функциями мозга. Модели могут отличаться в деталях, и алгоритмах, но общим у них является наличие нейро-сетевой структуры на которой происходят параллельные вычислительные процессы.
Прошу прощения, если мое определение отличается от принятого академического. Я дал то определение, которое я вкладываю в термин "теория нейросетей". На мой взгляд, не стоит вносить в определение еще более конкретизирующих уточнений, т.к. это может сильно ограничить возможность исследований. По крайней мере, это определение прекрасно вмещает такое разнообразие нейросетевых парадигм, как персептроны, сети Хопфилда и Хэмминга, сети встречного распространения, двунаправленная ассоциативная память, теория адаптивного резонанса, когнитроны и неокогнитроны и т.д.
Но все эти модели имеют такие существенные недостатки, которые не позволяют использовать основное и самое ценное их преимущество по сравнению с машиной Фон Неймана - реальную параллельность вычислений, причем, для любой функции! Обычный алгоритмический подход даже близко не способен на такое.
Большинство существующих моделей ИНС прекрасно приспособлены для того, чтобы использовать реальную параллельность.
Конечно же существующие модели ИНС прекрасно приспособлены для того, чтобы использовать реальную параллельность уже будучи обученными. Но сам процесс обучения происходит не параллельно, более того, еще и итерационно, а количество циклов зависит от размеров сети экспоненциально. О какой параллельности при обучении может идти речь? Если взять уже обученный нейрочип (для реальной, а не эмулированной параллельности), то вычисления он (нейрочип) будет производить потрясающе быстро и эффективно. Но сколько времени требуется для его обучения?
В моей практике был интересный случай: одна огромная Финская компания производящая бумагу для анализа показателей 40 тысяч датчиков каждого станка (длина одного станка - 1 км, а ширина около 20 м!) решила использовать нейросеть. Они обратились в "General Electric". Те разработали систему. Хотя анализ данных такая обученная сеть производила крайне эффективно и быстро, но обучалась часами. Для реалтайм режима требовалась скорость измеряемая секундами.
А противопоставления ИНС и алгоритмического подхода я, честно говоря, вообще не понимаю. Вы считаете, что "правильные" нейронные сети должны работать по неалгоритмическому принципу?
Можно говорить, об алгоритмических вычислениях в нейросети только в случае цифровой ее реализации. Представьте реализацию нейросети на аналоговой схеме (которой, кстати, является мозг). Все вычисления будут представлять из себя параллельные аналогово преобразующиеся потоки. Более того, для различных вычислений такая сеть пропускает потоки с одной и той же структурой. На выходе мы получаем результат вычислений. О каких алгоритмах тут может идти речь?
Обычный алгоритмический подход к вычислениям требует разработки специализированных алгоритмов для каждого класса задач. Новый класс задач - новый алгоритм.
Один и тот же алгоритм преобразований в нейросети позволяет производить любые вычисления. Так что, да - нейросетевой и алгоритмический подходы не имеют ничего общего.
Я только еще хочу уточнить, что я не критикую теорию нейросетей, как науку, я говорю, что совершенно необходимо пересмотреть исходные постулаты этой науки в соответствии с фактами нейрофизиологии. Тогда можно будет разработать нейросетевую модель не уступающую в эффективности биологической.