В настоящее время под ИИ в большинстве компьютерных разработок и в этой книге понимается вовсе не искусственный разум. Для обозначения искусственного разума, который возникнет в будущем, используется термин «общий, или сильный, ИИ». Программы, имеющие отдельные интеллектуальные функции для решения конкретных задач, называют слабым, или специализированным, ИИ.
Слабый ИИ, или просто ИИ, – новый способ создания программ для компьютера на основе машинного обучения. Раньше люди писали компьютерные программы, а компьютер выполнял заложенные в него команды. Теперь машинное обучение позволяет компьютеру самому создавать часть алгоритма, пока в заданных рамках, но эти рамки постоянно расширяются. Машинное обучение базируется на программе, созданной человеком, которая сама распознает закономерности в данных, которые предоставляются ей для обучения. Затем программа использует найденные закономерности для решения задач, к примеру, сортирует фотографии на селфи, фото цветов, животных и так далее. Существующие самые продвинутые программы ИИ не обладают самосознанием, не могут сами ставить себе цели и не обладают другими необходимыми элементами разума.
Современный ИИ работает с помощью математической модели нейрона – нервной клетки живых организмов. Сеть из таких нейронов, реализованная в виде программы или аппарата, способна обучаться с помощью методов машинного обучения.
Машинное обучение строится на тех же принципах, что и обучение человека. Различают дедуктивное обучение – от общего к частному. Это перенос знаний экспертов, теоретических знаний, формул в виде готовых правил в систему ИИ (аналог теоретической подготовки человека). Есть также индуктивное обучение (от частного к общему) на основе самостоятельного поиска системой закономерностей в данных (аналог обучения через практику, на примерах).
Скажем, нужно научить нейронную сеть отличать фотографии котов от фотографий собак. В компьютер загружается большое количество фотографий тех и других. Оператор или другая нейронная сеть получает ответы системы и подсказывает, если она ошиблась (обучение с подкреплением). Система учится на своих ошибках и корректирует наборы признаков, позволяющие отличать котов от собак. За неделю такой работы нейронная сеть будет отличать разные виды питомцев с высокой степенью точности.