Машинное обучение и Искусственный Интеллект
Шрифт:
И наука о данных актуальна именно сегодня, потому что у нас есть огромный объем доступных данных.
Раньше стоял вопрос о нехватке данных.
Теперь у нас есть непрерывные потоки данных.
В прошлом у нас не было алгоритмов работы с данными, теперь у нас есть алгоритмы.
Раньше программное обеспечение было дорогим, теперь оно с открытым исходным кодом и бесплатное.
Раньше мы не могли хранить большие объемы данных, теперь за небольшую плату мы можем иметь доступ к большим наборам данных.
Теперь, как соотносятся между собой ИИ,
Искусственный интеллект – это очень широкий термин для различных применений: от робототехники до анализа текста.
Это все еще развивающаяся технология, и есть вопросы о том, должны ли мы на самом деле стремиться к высокоуровневому ИИ или нет.
Машинное обучение – это подмножество искусственного интеллекта, которое фокусируется на узком диапазоне видов деятельности.
Фактически это единственный вид искусственного интеллекта, который сейчас существует с некоторыми приложениями в реальных задачах.
Наука о данных не является подмножеством машинного обучения, но использует машинное обучение для анализа данных и прогнозирования будущего.
Наука о данных сочетает в себе машинное обучение с другими дисциплинами, такими как анализ больших данных и облачные вычисления.
Наука о данных – это практическое применение машинного обучения с фокусом на решении реальных задач.
Наука о данных в основном сосредоточена на работе с неструктурированными данными.
Структурированные данные больше похожи на табличные данные, с которыми мы имеем дело в Microsoft Excel, где у вас есть строки и столбцы, и это называется структурированными данными.
Неструктурированные данные – это данные, поступающие в основном из Интернета, где они не являются табличными, они не в виде строк и столбцов, а в виде текста, иногда это видео и аудио, поэтому вам придется использовать более сложные алгоритмы для обработки этих данных.
Традиционно при вычислении и обработке данных мы переносим данные на компьютер.
Но если данных очень много, они просто могут не поместиться на одном компьютере.
Поэтому Google придумал очень просто: они взяли данные и разбили их на куски, и они отправили эти куски файлов на тысячи компьютеров, сначала это были сотни, а потом тысячи, и теперь десятки тысяч компьютеров.
И они поставили одну и ту же программу на все эти компьютеры в кластере.
И каждый компьютер запускает эту программу на своем маленьком фрагменте файла и отправляет результаты обратно.
Затем результаты сортируются и объединяются.
Первый процесс называется процессом Map,
Это довольно простые концепции, но оказалось, что вы можете делать с их помощью много разных видов обработки, выполнять много разных задач и обрабатывать очень большие наборы данных.
И такая архитектура называется Hadoop.
И когда у нас появились вычислительные возможности для обработки данных, у нас появились новые методы, такие как машинное обучение.
С помощью которого мы можем взять большие наборы данных, и вместо того, чтобы брать выборку из этих данных и пытаться проверить какую-то гипотезу, мы можем взять большие наборы данных и искать в них шаблоны – закономерности.
То есть перейти от проверки гипотез к поиску шаблонов, которые, возможно, будут генерировать гипотезы.
Это отличается от традиционной статистики, где у вас должна быть гипотеза, которая не зависит от данных, и затем вы проверяете ее на данных.
В машинном обучении сами данные генерируют гипотезы.
С появлением больших данных и вычислительных возможностей стало актуальным глубокое машинное обучение и использование нейронных сетей.
Jupyter Notebook
Технология нейронных сетей существовала 30 лет назад, но ее развитие сдерживалось нехваткой данных и вычислительных возможностей.
Нейронные сети – это попытка подражать нейронам мозга и тому, как на самом деле функционирует наш мозг.
Нейронная сеть получает некоторые входные данные, которые затем передаются в разные узлы обработки, которые выполняют некоторые преобразования в данных, а затем передают результаты на другой уровень узлов и, наконец, сеть выдает конечный результат.
Таким образом, нейронная сеть представляет собой компьютерную программу, которая имитирует, как наш мозг использует нейроны.
Нейронная сеть содержит входы и выходы, и вы продолжаете вводить данные в эти входы, и смотрите на выходы, и вы продолжаете делать это снова и снова, таким образом, чтобы эта сеть давала нужные результаты, при этом регулируя преобразования внутри сети.
Так вы обучаете нейронную сеть.
И теперь у нас есть нейронные сети и глубокое обучение, которые могут распознавать речь и распознавать людей.
И глубокое обучение требует больших вычислительных мощностей, так что это не то, что вы можете делать на своем ноутбуке, вы можете поиграть с нейронной сетью, но, если вы действительно хотите сделать что-то серьезное, у вас должен быть доступ к специальным вычислительным ресурсам.
Теперь, для обучения работе с данными существуют бесплатные инструменты, например, Skills Network Labs от компании IBM.