1.3. Машинное обучение VS программирование
Машинное обучение называют по-разному: распознавание паттернов, статистическое моделирование, извлечение данных, предсказательная аналитика, адаптивные и самоорганизующиеся системы. Неверно ставить знак равенства между машинным обучением и искусственным интеллектом. Изначально машинное обучение было разделом науки об искусственном интеллекте, однако сегодня машинное обучение — самостоятельная область, более востребованная, чем искусственный интеллект. Цель искусственного интеллекта — научить машины делать то, что люди умеют делать лучше, а умение самостоятельно обучаться — ключевой навык, без которого компьютеры не смогут развиваться.
Машинное обучение — это программирование наоборот. У любого алгоритма есть вход и выход: данные поступают в компьютер, алгоритм делает с ними то, что нужно, и выдает результат. Машинное обучение, имея в своем распоряжении данные и желаемый результат, создает алгоритм, который превращает одно в другое. Обучающиеся алгоритмы создают другие алгоритмы, обученные на основе имеющихся данных. С помощью машинного обучения компьютеры сами пишут для себя программы.
Алгоритмы машинного обучения на удивление просты. Обычно они состоят из нескольких сотен строк кода. В то же время программы, которые они заменяют, включают сотни тысяч или миллионы строк.
Если небольшой набор несложных обучающихся алгоритмов может выполнить практически любую задачу, возникает вопрос: есть ли единый алгоритм, который сам делал бы все? Его создание станет одним из величайших научных достижений в истории человечества. Верховный алгоритм — последнее, что изобретет человек, потому что все остальное верховный алгоритм изобретет сам.
Эволюция — это наглядный пример того, на что способен единый алгоритм обучения, если у него достаточно данных. Входные данные для эволюции — это опыт и судьба всех живых существ, когда либо живших на нашей планете.
2. Как создать верховный алгоритм
Уникальная особенность машинного обучения в том, что одни и те же алгоритмы умеют решать разные задачи.
При помощи простого обучающегося алгоритма, который можно выразить в виде короткого уравнения, можно за долю секунды диагностировать болезнь и отфильтровать e-mail.
В других областях для решения двух проблем нужно написать две различные программы. Они могут использовать один язык программирования и ту же систему баз данных, но программа для игры в нарды не принесет пользы, если нужно обработать бюллетени голосования. В машинном обучении обе задачи можно решить с помощью одних и тех же алгоритмов. Один обучающийся алгоритм способен породить неограниченное количество различных программ. За многочисленными приложениями машинного обучения стоят лишь несколько алгоритмов.
2.1. Каким будет верховный алгоритм?
Никто точно не знает, что будет представлять собой верховный алгоритм. Вот лишь несколько предположений:
• Верховный алгоритм будет похож на запоминание. Он будет фиксировать то, что видит, и таким образом узнает все на свете. Однако в мире намного больше вещей, чем мы в состоянии увидеть. Знание — это не просто набор фактов. Знание бывает обобщенным и структурированным. А запоминание не дает ни обобщенности, ни структуры.
Сколько бы снежинок вы ни исследовали, следующая будет другой. Даже если бы вы десять тысяч лет наблюдали за жизнью на Земле, вы не смоли бы предугадать, что будет завтра.
«Все мы смертны» — это утверждение обобщает идею неизбежности смерти лучше, чем семь миллиардов свидетельств о смерти.
• Верховный алгоритм — это микропроцессор. Процессор в компьютере — единый алгоритм, задача которого — выполнять другие алгоритмы. Он ограничен лишь объемом памяти и производительностью. Для микропроцессора алгоритм — это один из видов данных. Проблема в том, что микропроцессор сам по себе ничего не делает и ничему не учится. Он работает на алгоритмах, которыми его снабжает программист.
• Верховный алгоритм — это уравнение U(X) = 0, где определенная (вероятно, сложная) функция U какой то (возможно, очень сложной) переменной X равна нулю. К этой форме можно свести любое уравнение. X может быть любыми вводными данными, а U — любым алгоритмом. Эта гипотеза указывает на реальную опасность в машинном обучении: создание слишком общего обучающегося алгоритма, который окажется недостаточно содержательным, чтобы приносить пользу.
ВНИМАНИЕ! ПРОДОЛЖЕНИЕ В СЛЕДУЮЩЕЙ ПУБЛИКАЦИИ. Ну, а я не прощаюсь с Вами. А говорю Вам до скорой встречи на моем блоге. До волнующих моментов Нашей жизни))