Найти тему
FunnyDev

Неравный бой: ИИ против человека

Оглавление

Думаю, мне стоит сразу оговориться. Искусственный интеллект - огромная сфера, которую я не планирую затрагивать целиком. Мы будем говорить о нейросети.

Правила "боя"

Для этого эксперимента была написана специальная простейшая игра, суть которой заключается в следующем: игрок и ИИ получают на экране число от 0 до 9. Все, что они могут сделать в ответ - нажать на кнопку, с числами от 0 до 9. В каждой "партии" есть определенные правила, а именно формула, по которой вычисляется правильный ответ в зависимости от числа на экране. И если игрок (или ИИ) дает правильный ответ, он получает 1 балл. Если неправильный, то теряет 1 балл, при этом правильный ответ вы не узнаете. И так проходит каждый раунд. Давайте для ясности разберем одну "партию".

На экране появляется число от 0 до 9. Например, 7. Предположим, правильный ответ считается по следующей формуле:

[правильный ответ] = [число на экране] + 1

(Формула на каждую партию случайная). То есть в данной ситуации правильным ответом будет число 8. После того, как число показалось на экране, нейросеть и игрок выбирают ответ из 10 чисел (0-9). Как только оба игрока вводят свой ответ, они узнают, правильный ли был введен ответ. Допустим, нейросеть ввела 3, а игрок 8. В таком случае игрок получит 1 балл, а нейросеть потеряет 1 балл.

Если же ответ получается больше 9, то мы просто идем циклично дальше. То есть, если правильный ответ на 3 больше, чем число на экране, а число на экране равно 9, то правильный ответ будет 2 (9 -> 0 -> 1 -> 2).

Итак, правила установлены. Давайте теперь немного познакомимся с нашим оппонентом.

Нейросеть

Нейросеть - по сути своей, программа, которая имитирует работу мозга человека. Естественно, очень многие процессы опускаются за ненадобностью, но модель обучения и принцип принятия решений полностью взяты у человека.

Да начнется бойня!

Итак, на экране появляется первое число. Пусть это будет 5. Подумайте, какой ответ приняли бы вы? Подумали? Если вы подумали, что это число три, то примите мои поздравления и добавьте себе один балл. Если же нет, увы, ваша копилка балов ушла в долги. Что ответила нейросеть, пока не играет роли. (Важно: в статье я озвучиваю правильные ответы, однако держите в голове, что в игре вы их не узнаете, если дали неправильный ответ)

Следующий шаг. На экране число 3. Вероятнее всего, если бы вы на прошлом шаге указали правильный ответ, сейчас бы вы ответили 1, потому что подумали бы, что формула ответа следующая:

[правильный ответ] = [число на экране] - 2

Однако вы были бы категорически не правы, потому что формула задумывалась совершенно иная, а именно:

[правильный ответ] = [число на экране] * 2 - 7

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

Тактика игрока

В первом раунде у игрока нет никаких других вариантов, кроме как назвать случайное число (не совсем случайное, но об этом позже), потому что вам практически не на что опираться при принятии решения.

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

Тактика нейросети

Первые раунды нейросети и человека идентичны. Нейросеть пытается угадать правильный ответ. Различия начинаются после первого попадания в правильный ответ. Почему? Потому что у нейросети нет жизненного опыта, который есть у человека. Вы знакомы с математикой, знаете различные варианты получения числа А из числа B. Все, что может сделать нейросеть - запомнить связь между числом А и числом B. Нейросеть в данном случае - только что рожденный интеллект, который ничего не знает и не умеет. Знает только то, что она может нажимать кнопки и получать какую-то награду за правильные ответы.

Кто же имеет преимущество

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

Может ли нейросеть победить при таких условиях?

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

Можем ли мы посоревноваться с нейросетью?

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