Машинное обучение — это сфера знаний, которая занимается исследованием технологий, способных применяться для реализации самообучающихся программ.
Введение
Машинное обучение, по своей сути, является путём к искусственному интеллекту. Машинное обучение может считаться только попыткой сделать машину, которая способна обучаться на собственном опыте. Учёные считают, что проектирование подобных машин способно проложить самый быстрый путь к реализации полноценного искусственного интеллекта. Но для того, чтобы у компьютера появился разум, требуется поистине революционный прорыв на стыке науки и искусства.
Machine Learning, то есть, машинное обучение является новым инструментом и новый путём в инженерии. Машинным обучением в основном развивается в следующих направлениях:
- Улучшение уже существующих продуктов.
- Создание совершенно новых продуктов, которые ранее были просто нереальными.
Машинное обучение и нейронные сети
Существуют разные методы машинного обучения, которые сегодня используются на практике. Одним из них является обучение на примерах, то есть Supervised Learning, которое считается одним из важнейших методов. Можно привести следующий пример. Начинающий любитель учится играть в шахматы, а за его спиной стоит гроссмейстер и нашептывает ему правильные ходы. Из реально существующих систем можно назвать автоматическую сортировку спама в электронной почте. Раньше программисты просто формировали набор определенных правил. К примеру, когда в тексте слово viagra написано с использованием странных символов, то это письмо на 99 процентов является спамом.
Сегодня же согласно алгоритму блокировки спама, необходимо изучать архив писем, которые имеют метки спам и не спам. Программа по этому алгоритму выполняет это действие снова и снова и медленно, но верно постоянно улучшается, определяя спам все точнее. Это пример очень успешной технологии, которая является основой многих систем.
Другим методом машинного обучения является обучение с подкреплением, то есть Reinforcement Learning, которое базируется на отрицательных и положительных откликах, или, говоря по-другому, на опыте. Если использовать пример с обучением игре в шахматы, то надо при каждом проигрыше делать правильные выводы из этого поражения.
Существует ещё метод самообучения. Метод спонтанного обучения, то есть Unsupervised Learning, может работать без вмешательства со стороны человека. Машина осуществляет анализ структур данных, выделяя из них какие-либо общие параметры. Человек владеет всеми вышеописанными методами, а машины пока овладели в достаточной степени только первым методом, и постепенно обучаются при помощи специалистов двумя другими методами.
Машинное обучение всегда сопряжено с вводом и выводом данных, и между этими процессами должна быть заложена определённая математическая модель. Такая очень упрощенная система и является сутью программы машинного обучения. Одной её частью являются входные данные, математическая модель и совокупность параметров, которая наиболее часто является просто набором чисел. Второй частью является алгоритм, сравнивающий входные данные и непрерывно уточняющий прогнозы. Для совершенствования системы, ей необходимо пройти этот путь многие миллиарды раз. Поэтому специалисты лишь сравнительно недавно пришли к ее реализации, компьютерное оборудование стало обладать для неё достаточными мощностями. И, тем не менее, они так и остаются очень медленными учениками.
Другой проблемой машинного обучения может считаться наличие огромного количества примеров, то есть, тех самых входных и выходных данных. Кроме того, иметь дело с простыми уравнениями является достаточно простой задачей, но, к примеру, расшифровать изображение на картинке уже намного сложнее. Здесь требуется существенно более сложная математическая модель. И тогда был изобретён ещё один тип машинного обучения, именуемый глубоким обучением (Deep Learning). По существу, этот тип может считаться искусственной нейронной сетью. Нейронная сеть выступает как модель нервной системы человека, основным отличием которой является возможность самообучения, при учёте опыта предыдущих действий. Это даёт возможность непрерывно сокращать количество совершаемых ошибок.
Подобно нервной системе человека, нейронная сеть состоит из совокупности компонентов для вычислений, нейронов, которые расположены в несколько слоёв. Информация, поступающая на вход нейронной сети, поочерёдно подвергается обработке всеми слоями сети. А каждый нейрон имеет определённые параметры, изменяющиеся с учётом итогов обработки. Это и является процессом обучения нейронной сети. К примеру, перед нейронной сетью стоит задача различать собак и кошек. Для настройки сети, в неё необходимо заложить базу данных с изображениями собак и кошек, на которых нанесены подписи. Нейронная сеть осуществляет анализ признаков на этих изображениях и формирует модель для опознания животных, позволяющую снизить до допустимого минимума количество ошибок в сравнении с эталонными результатами.
Можно привести следующие примеры применения нейронных сетей:
- В медицине. Коллектив учёных из Ноттингемского университета изобрёл алгоритмы машинного обучения, позволяющие оценить вероятность болезней сердца и сосудов у обследуемых людей. В процессе обучения использовались информационные данные 378 тысяч обследованных граждан Великобритании. После обучения данная система искусственного интеллекта смогла ставить диагнозы пациентам лучше, чем практикующие доктора.
- В финансовой сфере. Компания из Японии, работающая в области страхования, Fukoku Mutual Life Insurance заключила контракт с корпорацией IBM, по которому тридцать четыре служащих японской фирмы будут заменены системой Watson Explorer AI. Нейронная сеть способна обрабатывать огромное количество медицинских сертификатов, суммировать число раз пребывания в госпиталях, число операций, много других параметров, чтобы определить на каких условиях можно осуществить страховку пациента.