Ответ на пост «Мои мысли про искусственный интеллект (ИИ)»
очередной всплеск обсуждений/рассуждений людей, которые плохо понимают, что такое ИИ вообще, а не только языковые модели.
таак...
Попробую простыми словами не эксперта, но и не дилетанта рассказать, что же это такое.
так-тааак...
Во-первых, это сложные алгоритмы. Причем не один, как многие думают, а несколько. Например:
— Оптимизация перевозок (навигаторами в авто все пользуются?);
— Вычисление вероятности возникновения события, например, дождя;
— Вычисление отклонения или аномального поведения оборудования и/или системы, например, полета самолета.
Пщщщщщ. Щито?!
ИИ - это алгоритмы? ВЫЧИСЛЕНИЕ вероятностей? ОПТИМИЗАЦИЯ перевозок? ВЫЧИСЛЕНИЕ ОТКЛОНЕНИЯ?!
АЛГОРИТМЫ?!
ну-ну...
"Нейронные сети" — это не ИИ и не алгоритм, а математическая модель, то есть просто подход к составлению алгоритмов
Не, ну... так натянуть сову на глобус-таки можно.
Однако есть вопросы.
Нахрена называть алгоритмами то, что делается нейросетями? Ладно, алгоритм обратного распространения ошибки при обучении. Ладно, "алгоритм" инференса - своеобразное вычисление на весах нейронной сети. Но тогда что угодно можно назвать алгоритмом и этот термин теряет свой смысл!
Алгоритм мы можем видеть и понимать, а нейронная сеть за счет количества и сложности связей - это "черный ящик" для нас. Она решает задачу потому, что обучена это делать, но делает она это не алгоритмически.
Наш мозг - это химия и физика, там химические и электрические процессы происходят, но это не значит, что его можно сравнивать с чайником. Так и здесь. Мы, как бы, сделали маленький электронный мозг, обучили его, и теперь он не хуже нашего решает какой-то спектр когнитивных задач, на который его сложности хватило, и которому его обучали.
Называть это алгоритмическим решением только потому, что там какой-то процесс вычислений происходит - это просто сделать бесполезным термин "алгоритм". Этот термин имеет смысл использовать для чего-то прозрачного. Алгоритм формируют со стороны логики, а нейронную сеть ОБУЧАЮТ, и решения возникает у неё благодаря процессу, логику которого мы понять не можем ввиду сложности. Это нет смысла называть алгоритмом.
Докопался? Да, но мне кажется важно не разбрасываться так легкомысленно такими грубыми определениями, если хочешь кому-то что-то объяснить.
Итак. Плохая идея называть нейросеть "просто подходом к составлению алгоритмов". Большинство реализаций даже не детерминистические! Они как хаотический аттрактор или хеш-функция критически зависят от минимальных изменений во входном потоке.
Во-вторых, использование ИИ можно разделить на 3 больших блока:
1) Распознавание (recognition)
2) Прогнозирование (prediction)
3) Самоуправление («self driving») в общем смысле, как то принятие решения на основе обработки информации
Тут не хотелось бы снова докапываться до терминологии, но, мне кажется, большинство недопонимания у обывателей по этой теме кроется именно в сбивающей с толку терминологии.
Всяческих определений всегда можно надавать сколько угодно. Многие из них неизбежно даже будут противоречить друг другу. С развитием технологий часто следует пересматривать терминологическую базу, чтобы убрать лишнюю путаницу. Вот и сейчас, как мне кажется, настал такой момент, когда пора.
Не претендую ни на что, но могу предложить своё набор обобщенных понятий и определений, которые расставляют некоторые умляуты над некоторыми буквами.
Во-первых, важный дисклеймер. Мы до сих пор сами плохо понимаем как устроено и работают наши мышление, интеллект и сознание. Для всего этого есть перечисленные слова, но четких и непротиворечивых определений им дать не получается. И тут дело не только в Гёделе с его теоремой о неполноте. Тут сказывается плохая интроспективность и высокая сложность нашего мозга. Представьте, что мы ничего не зная о компьютерах вскрыли корпус и пытаемся разобраться что происходит в операционной системе глядя на материнскую плату, пытаясь то там-то тут что-нибудь отключить, шевеля плашки памяти, ковыряя дырочки в компаунде центрального процессора...
Кстати, пришла в голову хорошая аналогия по части претензии к первому тезису автора исходной статьи. Наш компьютер - это несомненно электронное устройство. Но называть все сложные алгоритмы, которые он выполняет чистой электроникой довольно бессмысленно. Анализируя электронные схемы никак не понять что делает алгоритм и как он устроен.
То же и с нейросетями. Мы можем "видеть" структуру сети, значения её весов, но за этой структурой не ясна внутренняя логика, которой руководствуется эта нейросеть решая свою плохо формализованную когнитивную задачу.
Нет смысла называть решение задач нейросетью алгоритмическим по той же причине, что нет смысла считать решение алгоритмических задач компьютером просто результатом работы электрической схемы.
Бóльшая часть логики работы компьютера не в его электрической схеме, а в данных, записанных в его памяти.
Бóльшая часть логики работы нейросети не в её структуре и алгоритмах, а в суперсложном и априори непонятном взаимодействии её весов.
Простите, что отвлёкся. Итак. Мы сами плохо разбираемся как работает наши сознание, мышление, интеллект. Мы "плаваем" и затрудняемся дать чёткие определения этих естественных понятий. Очевидно, что начиная говорить об искусственных реализациях чего-то, имеющего похожие эффект и результаты, мы тоже столкнёмся с похожими трудностями.
Представьте, что некая цивилизация нащупала чисто эмпирически как соорудить достаточно эффективное крыло, чтобы построить летательный аппарат. У неё нет математической базы для объяснения происходящего, но есть самолёт, собранный из чего-нибудь и палок. Вот мы с ИИ почти в такой же ситуации. Оно "летает", и мы знаем как это соорудить, но как это в деталях работает настолько хорошо - это ещё довольно непростой вопрос для нас.
Скажем так. Было сюрпризом, что, грубо говоря, "очень большой Т9", обученный на дохренилиарде текстов из интернета вдруг сможет настолько хорошо "понимать" язык на уровне смыслов и благодаря этому решать когнитивные задачи, которые раньше решались только человеком.
На счет терминологии. У нас термин "Искусственный Интеллект" уже не вмещает в себя всех градаций, нюансов и знаний, которые имеет человечество о машинном обучении. Это термин становится бессмысленным из-за этого. Всё - это ничего. Ничего определённого. Ничего конкретного.
Лично для себя я определяю интеллектом нечто, что способно решать интеллектуальные задачи.
Спектр интеллектуальных задач постоянно двигается. Вернее двигается окно по этому спектру. То, что раньше считалось интеллектуальными задачами, например шахматы или го, теперь считаются либо чисто вычислительными, либо сугубо узкими и не претендующими на звание интеллектуальных.
Когда-то распознавание текстов было прерогативой "машинного зрения", а теперь это узкая специфическая задача, которую не относят к ИИ в общем случае. Задачи распознавания и синтеза речи относят к области ИИ пока что только потому, что качество их решения сейчас сильно улучшается за счет глубокого "понимания" языка языковыми моделями. Но это всё неизбежно станет автономными модулями, которые будут эффективно и локально решать узкую задачу реализации голосовых интерфейсов, а окно компетенций Искусственного Интеллекта поедет дальше покрывая всё больше задач, которые раньше могли решать только люди своими сложными мозгами.
Сейчас мы называем инференсы языковых моделей работой искусственного Интеллекта. Эти языковые модели отлично оперируя смыслами текстов умеют с этими самыми текстами вторить форменные чудеса (по нынешним меркам). Обывателям кажется, что предикты языковых моделей, обученных на бессчетном множестве диалогов, проявляют чуть ли не признаки сознания. Но это обманчивое впечатление. Однако уже завтра все эти чудеса станут обыденностью, а удивлять станут более сложные системы, проявляющие себя ещё более сложным и человекоподобным образом.
Ладно, продолжим дальше по тексту докапываться до слов автора. Да простит он моё занудство.
В-третьих, ИИ включает в себя «машинное обучение» (machine learning), то есть возможность корректировки алгоритмов на основе обратной связи, пополнение/изменение используемых ими данных.
Не буду придираться по поводу того что куда включается, однако "возможность корректировки алгоритмов на основе обратной связи"... Я уже объяснял выше, что веса нейронной сети алгоритмами можно называть, но это делает термин "алгоритм" бесполезным. Я бы сказал, что мы корректируем "знания", "рефлексы", "умение" нейросети решать какие-то плохо-формализованные задачи на конкретных примерах. Мы "тренируем" нейросеть, а не "корректируем алгоритмы". Это просто более удобные термины для того, что мы делаем. Моя бабушка, когда я в школьные годы учился программировать на бейсике, всегда было не понятно что я делаю на компьютере. Она называла это "кнопки нажимает". И не важно, играю я в Принца Персии, или создаю СУБД на SyBase, или пишу свою первую игру на бейсике. Не будем уподобляться моей бабушке и называть машинное ОБУЧЕНИЕ нейросети формированием её алгоритмов.
И вот исходя из всех этих рассуждений я вынужден заклеймить итоговый вывод ТС:
Не ждите от ИИ генерации каких-либо новых супер-идей (супер-решений) . Он всего лишь выбирает их из существующих по определенному алгоритму, хоть и очень сложному. Даже если он и сгенерирует идею (решение), то, опять же, в строгом соответствии с алгоритмом, но эта «рядовая» идея (решение) может быть вам полезна.
Это бесполезная обывательская демагогия, которая фонит предвзятостью и необоснованными суждениями.
Почему не ждать "супер-идей"? А от каждого ли человека можно ждать этих самых "супер-идей"? Но мы не лишаем ни одного человека права на признание его интеллекта. Порой, пусть, и не дюжинного, но всё же.
"Выбирает [решение] из существующих по определенному алгоритму" - это либо глупое заблуждение, либо ломающее весь смысл упрощение. Так было бы, если бы была где-то база данных "существующих решений", а некий осознанно и нарочно написанный людьми алгоритм как-то сканировал эту базу, фильтровал, строил рейтинг решений и выдавал самое верхнее. Ну не так же работают генеративные модели! Ини именно что синтезируют ответ согласно "выученному" внутреннему "пониманию" сложных смысловых взаимосвязей в предлагаемом контексте. Это никак нельзя называть алгоритмом. Почему - это я уже объяснял не раз выше.
Да, тут можно докопаться до кучи слов. например "понимание". Но, Гёдель подери, у нас нет иного выбора, кроме как опираться на плохо определимые понятия. Вся математика так делает!
Однако называть всё это алгоритмом - всё равно что назвать (объяснить) всё сущее богом и закрыть на том любые дискуссии. Есть полезные абстракции, а есть бессмысленные. Вот предложенная автором на этом уровне бессмысленна.
Даже если он и сгенерирует идею (решение), то, опять же, в строгом соответствии с алгоритмом, но эта «рядовая» идея (решение) может быть вам полезна.
Тут хочу лишь добавить, что люди тоже генерируют свои идеи опираясь на плечи гигантов мысли - прошлых поколений представителей своей многовековой цивилизации. Ничто не ново под луной. Так чем же, черт подери, отличается обучение машины на всех текстах интернета от обучения младенца, которого потом учили на учебниках в школе, на лекциях в институте? В чем принципиальное отличие? Где автор исходного поста трусливо потерял аргументы и доводы к выводам, которые счел само собой разумеющимися? Почему это люди у него способны на не "рядовые" идеи, а генеративные модели нет? Только потому, что схему работы искусственной нейросети он обозвал "алгоритмом", а схему работы человеческого мозга нет? Это тривиальная апелляция к незнанию. К сложности. Вот, мол, в нейронной сети тут вроде всё понятно, нули и единицы, где тут, мол, быть душе и просветленью? То ли дело человеческий мозг! Другие, мол, масштабы, квантовые, мол, эффекты, сложные химические реакции ионов кальция, гормонов, рецепторов... Ага. Но это разве аргумент? Автор просто предвзято судит, что люди там в глубине своих сложных мозгов способны рождать уникальные неповторимые идеи, а машины нет.
Неужели автор сам не видит этот провал в аргументации?
Нет, я не утверждаю, что генеративные модели на нынешнем этапе развития уже равны человеку. Отнюдь! Но и не готов принять предвзятый постулат, что текущая концепция не способна породить интеллект, более сильный, нежели человеческий. Может быть способна.
Ну а взвешивать новизну идей... такое себе. Как? Как делать это непредвзято? Да и с кем соревноваться? С стогигабайтным куском весов нейронной сети, которой технически пару лет "от роду"? А кого сравниваем? Автора, способного генерить уникальные идеи? Эйнштейна? Случайного обывателя? Все, кого мы тут будем сравнивать, на порядки сложнее и старше. У нас всех фора. Подождите момента, когда генеративные модели ещё немного хотя бы экстенсивно подрастут. Они уже способны на то, что большинство обывателей не добьётся никогда в своей оставшейся жизни. Многие люди двух слов связать не могут, многие даже родной язык плохо знают, многие посыпятся на школьной программе и далеко не так эрудированны, как рядовая нейронка. Продуктивность огромного числа людей уже не сравнится с нейронкой в том спектре задач, которые ещё "вчера" могли решать только и исключительно люди как обладатели Естественного Интеллекта.
Так что же нас ждёт впереди? Нас ждёт цифровой шовинизм. Нас ждёт политика, предрассудки, и весь спектр таких же проблем, что человечество уже переживало. Этот пост уже слишком большой, чтобы продолжать рассуждения здесь на эту тему, но я могу продолжить, если кому-то будет интересно. А то знаете как бывает: "Меня, часто спрашивают..." Ага! Щас! Никто меня не спрашивал! Даже автор исходного поста. Респект ему за стремление высказать свою точку зрения на публику и смелость в этом акте.
