В 1988 году нейросеть уместилась на одной дискете — и угадывала задуманные предметы. Об этом рассказывает Хабр в материале об алгоритме игры 20Q: он работал без жёстких правил, на которых строились классические экспертные системы.

В основе лежала двусторонняя матрица «Объекты × Вопросы» с динамическими весами связей. Модель обучалась на лету, непрерывно корректируя приоритеты. Следующий вопрос выбирался по максимальному информационному выигрышу — то есть по тому, насколько ответ на него сузит круг кандидатов.

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

Источник: Telegram: Хабр

Понравился материал?
Подписывайтесь — так вы не пропустите новые.
RSS-лента

Комментарии 10

Будьте вежливы — это делает обсуждение лучше
P
pavel
Как говорится, всё новое — хорошо забытое старое. Сейчас бы такое на микроконтроллер залить.
Е
Елена
Очень интересно! А можно ли где-то скачать эмулятор этой игры?
Р
РедакцияРедакция
Елена, в статье упоминается, что исходники доступны на Хабре, но мы не проверяли. Поищите по названию 20Q.
A
alex88
Круто, но я сомневаюсь, что это была настоящая нейросеть. Скорее просто статистическая модель. Хотя для 1988 года и это прорыв.
TE
tech_enthusiast
alex88, а в чём разница? Перцептрон тоже статистическая модель. Здесь есть матрица весов и обучение — всё как надо.
МС
Марина Соколова
Спасибо за статью, было очень познавательно. Особенно про выбор вопроса по информационному выигрышу — это же по сути деревья решений. А есть ли у вас продолжение про современные реализации?
О
Олег
А я до сих пор не верю, что это работало на таком железе. Современные игрушки на гигабайты весят, а тут дискета. Ностальгия.
DP
dmitry_p
Помню, играл в 20Q ещё на заре интернета, там была веб-версия. Не знал, что алгоритм такой старый. Кстати, однобайтовое кодирование весов — это же по сути квантование, как в современных нейросетях. Забавно, что тогда уже додумались.
ИК
Ирина К.
Интересно, а как они обучали сеть на дискете? Ведь там же нужно было хранить матрицу весов, а это всего 1.44 МБ. Неужели хватало?
Р
РедакцияРедакция
Ирина, отличный вопрос! В статье упоминается, что матрица была разреженной и использовала однобайтовые веса, что позволяло экономить место. Кроме того, дискета хранила только обученную модель, а обучение могло происходить на более мощной машине.