2017/07/18 15:48:27

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

Человечество переживает наступление эры когнитивного, то есть разумного компьютинга или компьютинга со способностью к мышлению. Как появился термин Cognitive Computing и что за ним скрывается? Чего и когда ждать от разумных машин? Ответы на эти вопросы дает материал журналиста Леонида Черняка, подготовленный специально для TAdviser.

Содержание

История и предпосылки появления когнитивного компьютинга

Без слова «компьютинг» обойтись сложно, хотя оно с заметным трудом пробивается в русский язык, повторяя сложную судьбу слова «компьютер», которое поначалу появилось в сочетании с «персональный». Тогда потребовался не один год на то, чтобы «компьютер» вытеснил аббревиатуру ЭВМ. Что касается слова computing, то оно является синонимом counting или calculating, переводимых как «вычисления». Но под давлением обстоятельств это слово приобрело иной смысл, вобрав в себя разнообразные операции по использованию компьютеров, электронные процессы, происходящие внутри них (аппаратное обеспечение), управление ими (программное обеспечение) и концептуальные основы (computer science, компьютерные науки). То есть компьютинг стал частью багажа цивилизации.

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

Первая революция – дифференциальная и аналитическая машины Бэббиджа, другие механические устройства и, конечно же, арифмометр Однера. Его советский вариант, известный под именем «Феликс», выпускался до начала семидесятых годов 20 века.

Арифмометр «Феликс»

Вторая – табуляторы Германа Холлерита, обеспечившие могущество созданной им IBM. Компания была к ним так привязана, что не сразу признала компьютеры. Табуляторы выпускались в ряде стран. Массивные и очень шумные они оказались настолько востребованными, что даже в семидесятые годы в вузах существовала специальность «Механизация вычислительных работ».

Табуляторы Германа Холлерита

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

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

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

До тех пор, пока сфера применения компьютеров ограничивалась расчетами, технологическими системами управления, системами управления базами данных и другими классическими в нынешнем смысле приложениями, программирование фон Неймана не вызывало нареканий. Огромные инженерные силы были направлены на преодоление «бутылочного горла» - другой ее слабости. Вот что сказал о ней руководитель команды создателей первого высокоуровневого языка программирования "Фортран" Джон Бэкус на церемонии вручения ему Тьюринговской премии в 1977 году:

« Что такое компьютер по фон Нейману? Когда 30 лет назад Джон фон Нейман и другие предложили свою оригинальную архитектуру, идея показалась элегантной, практичной и позволяющей упростить решение целого ряда инженерных и программистских задач. И хотя за прошедшее время условия, существовавшие на момент ее публикации, радикально изменились, мы отождествляем наши представления о компьютерах с этой старой концепций. В простейшем изложении фон-неймановский компьютер состоит из трех частей: это центральный процессор (CPU), память и соединяющий их канал, который служит для обмена данными между CPU и памятью, причем маленькими порциями (лишь по одному слову). Я предлагаю назвать этот канал «бутылочным горлом фон Неймана». Наверняка должно быть менее примитивное решение, чем перекачивание огромного количества данных через «узкое бутылочное горло». Такой канал не только создает проблему для трафика, но еще и является «интеллектуальным бутылочным горлом», которое навязывает программистам «пословное» мышление, не позволяя рассуждать в более высоких концептуальных категориях »

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

Альтернативой программирования могут стать когнитивные компьютерные системы или Cognitive Computing. Аналитики уже говорят о наступлении эры когнитивного, то есть разумного компьютинга или компьютинга со способностью к мышлению.

Сравним программируемый компьютер с когнитивным.

Программируемый компьютер Компьютер с когнитивными способностями
Обучение по программеОбучение на примерах
Работа со структурированными даннымиРабота с неструктурированными данными
Детерминированные приложенияПриложения с неопределённостью, ориентированные на обнаружение чего-то
Машинный языкЕстественный язык
Обработка записейСоучастие в процессе
Простые результатыГипотезы с оценками
Поиск результата Формулировка наиболее близкого ответа
Данные корпоративного уровня Большие данные

Роль IBM в когнитивном компьютинге

Первым по когнитивному пути пошел Watson, победивший 14 февраля 2011 года сильнейших игроков в телевизионной игре Jeopardy! ("Рискуй!"), более известной в России как "Своя игра". С этого дня ведется отсчет эры когнитивного компьютинга.

На самом деле сам Watson в полном смысле разумным не является. В нем используются традиционные программируемые процессоры Power, а специфическим интеллектом обладает работающая на нем вопрос-ответная система, построенная по «архитектуре управления неструктурированной информацией» UIMA. Создав Watson IBM перевела рассуждения о когнитивном компьютинге в практическое русло.

У Watson были и менее удачливые предшественники, во всяком случае на уровне идеологии. Среди них система Wolfram|Alpha и библиотека знаний Cyc. Сам термин Cognitive Computing тоже не нов. Он использовался специалистами в области, известной как «когнитивная информатика» (Cognitive Informatics).

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

Например, авторы PureSystems не делают попыток моделировать мозг: их главная задача в преодолении одной из слабостей современных компьютеров — работы с мелкими фрагментами данных (битами и байтами). Вот что пишут Джон Келли и Стивен Хамм из IBM в книге «Умный компьютер»:

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

Скорее всего, PureSystems и им подобные стоит назвать системами, управляемыми потоками данных (data driven systems).

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

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

Когнитивная эра наступает

Сферы применения когнитивных компьютеров

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

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

Первые когнитивные компьютеры "в железе"

По состоянию на 2017 год известно о четырех значительных проектах, нацеленных на создание нейроморфных компьютеров. Из них два — в Европе: BrainScaleS (Институт физики Гейдельбергского университета) и SpiNNaker (Манчестерский университет) и два — в США: исследования в области когнитивного компьютинга IBM и NeuroGrid (Стэнфордский университет).

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

Два европейских проекта составляют содержание девятого из тринадцати пунктов более крупного проекта Human Brain Project, финансируемого Евросоюзом. Он называется SP9. Гейдельбергский компьютер именуется NM-PM-1, а манчестерский — NM-MC-1 (PM расшифровывается как физическая модель, а MC — как многоядерная, обе имеют общий интерфейс). И тот, и другой поддерживают PyNN - платформенно-независимый язык, служащий для создания нейронных сетей (PyNN, произносится как «пайн», — аббревиатура от Python package for simulator-independent specification of Neuronal Network models; проект, как следует из названия, объединяет Python с нейронными сетями).

Цель SP9 — создание компьютерной платформы Neuromorphic Computing Platform, которая позволит ученым проводить эксперименты с системой, моделирующей мозг (Brain Simulation Platform).

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

Читайте также