Так почему-же о "искуственном интеллекте" заговорили только в последние годы?

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2021-11-18 15:21

Трезво про ИИ

О так называемом "искуственном интеллекте" говорят из каждого утюга. Автомат, работающий не только по заданной программе, но и умеющий принимать самостоятельное решение - это уже "искуственный интеллект". Существует лет 80, с момента создания первых компьютеров. Но тогда компьютерный интеллект был запрограммирован вручную. "Какие" решения может принимать компьютер и "почему" - это определяла программа, то есть программист, то есть человек.

Идея научить компьютер принимать решения, анализируя некие данные, в основном оставалась только идеей. Идея искусственной нейросети, которая вроде так просто работает, еще в 40х - 50х годах прошлого века воодушевила ученых. Но вскоре они поняли, что компьютеры тех времен были слишком слабые, чтобы смоделировать нейросеть, даже простейшего организма. Слишком много вариантов надо было просчитать при анализе данных и слишком много информации держать одновременно в памяти. Нейросети пытались заменить (и не безуспешно) другими алгоритмами, адапритованными к той или иной задаче. Возникли целые научные области исследования по подготовке данных для обучения этими данными алгоритмов «искусственного интеллекта».

Так почему-же о "искуственном интеллекте" заговорили только в последние годы? На это есть 3 причины:

1. Неимоверные вычеслительные мощности современных компьютеров. Гигантские компьютеры в 60х годах, на которых просчитывались атомные бомбы, в подметки не годятся тем процессорам, что стоят сейчас в любом телефоне.

2. Падение цен на носители информации. Это позволяет собирать и хранить много-много данных. Немыслимо много.

3. Вытекает из верхних двух. Созданно много инструментов для программистов и специалистов в предметной области без знания программирования, позволяющих использовать технологии "искуственного интеллекта".

Пришло время и вспомнили о тех алгоритмах, которые придумали еще в 50х-60х годах прошлого века. Но тогда это была только теория, а названные причины сделали ее общедоступной практикой.

Так что же имеется в виду под словосочетанием «искусственный интеллект» - в дальнейшем "ИИ"?

Это возможность учиться принимать решения, анализируя данные. То есть компьютеру не надо описывать задачу "сделай так, потом эдак, а если то-то условие то сяк и повтори потом снова так...". Компьютеру дают данные и говорят: "посмотри как другие (т.е. человек) сделали и так же делай".

Например, человек пометил определенные клетки на картинках микроскопа. Если таких картинок с пометками будет достаточно много, то компьютер, проанализировав их дальше сам, сможет находить подобные клетки.

Вот еще пример. На основе анализов принимается некое решение, скажем поставить диагноз или отправить пациента на дополнительные анализы. Сообщаем компьютеру значения этих анализов и принятые в прошлом решения, и если их достаточно, компьютер сможет дальше принимать требуемые решения.

Не пугайтесь что "нас хотят заменить компютером", мы ведь не в СБЕРе. Давайте поразмышляем, как "ИИ" можно использовать в повседневной работе. Вот мне в голову приходят несколько сценариев:

- Контроль качества: Данные начали дружно отклоняться в сторону или разбегаться. "ИИ" определяет и выдает предостережение. Причем, показателей может быть 10 и 100 и миллион. Отклонение одного или 10ти или тысячи определенных показателей может быть еще нормой, а отклонение 1001го в одну сторону при 999 в другую сторону - это уже не норма. Машина сбилась, пробирки не помыты, реактивы плохие, и тд. То есть интуитивно или на основании описаных правил эти нештатные ситуации не выявить, если факторов много. А для алгоритмов "ИИ" много факторов - не проблема. Если есть взаимосвязь факторов с ответом, он ответ найдет;

- Поиск и подсчет клеток или прочих артефактов на картинках. Как я слышал, часто необходимо просматривать большие площади на стеклышке в микроскопе, что занимает много времени и утомляет глаза;

- Решение о дополнительном анализе. Взяли кровь, выполнили дюжину факторов, загрузили в программу с "ИИ", а она предлагает дополнителъные анализы, потому что в прошлом, у пациентов с подобными значениями назначались дополнительные анализы.

- Предостережение пациента. Взяли кровь, и тп, померили температуру, давление, ЭКГ, и тд, задали значения в программу, а она сообщила об рисках инсульта, потому что в прошлом у пациентов с подобными значениями инсульт случался.

То есть в первую очередь, "ИИ" может дополнить интуицию специалиста, помочь ему не проглядеть важный случай.

- «Хорошо, пока это все теория и фантазии. У нас в глубинке нет искуственного интеллекта" - может вставить свои 5 центов сельский специалист. В том то и дело, что есть. Существуют инструменты, позволяющие создать программу с "ИИ", и это не сложнее использования Экселя. Все что вам надо, это дисциплинированно собирать данные в форме таблицы:

ФАКТОР 1,РФАКТОР2,ФАКТОР3,...,ФАКТОРN- ответ

ФАКТОР 1,РФАКТОР2,ФАКТОР3,...,ФАКТОРN- ответ

Ответом может быть либо вещественное число (это которые с запятой) или натуральное число - 1,2,3,4,5....

В первом случае задача представляет собой регрессию - нахождение функции кривой, во втором классификацию - да/нет, плохо/норма/отлично, тип1/тип2/.../типN.

Алгоритм обучения "ИИ" анализирует факторы и их ответы и создает так называемую модель. На основе этой модели и новых значений, тех же факторов с еще неизвестным ответом программа выдает свой ответ.

В связи с "ИИ" часто стоит словосочетание "нейронные сети". Это только один из алгоритмов обучения и применения "ИИ". Существует много других. Для использования "ИИ" практически не обязательно в тонкостях понимать, как работает тот или иной алгоритм. Алгоритм - это черный ящик. Обучаете используя его, проверяете, если плохо работает - берете другой. Разные алгоритмы работают лучше или хуже с теми или иными данными. А проверка делается так:

Таблица "факторы - ответ" делится на две не равные части, скажем 90% строк для обучения 10% строк на проверку. Большей частью обучаем модель. Меньшей частью проводим проверку, то есть вводим строчку "факторы" и смотрим, чтобы ответ выдаваемый моделью, соответствовал ожидаемому ответу. Считаем количество совпадений и разногласий и выводим точность обучения. Если точность плохая, берем другой "черный ящик" - т.е. алгоритм.

Теперь о инструментах.

Если на фирме есть програмист, то Python ему в руки с библиотекой СайКит-Лёрн https://scikit-learn.org.

Я ни когда не работал с СПСС, но в СПСС есть модули для "ИИ" с алгоритмами например SVM (нашего соотечественника Вапника), DecisionTree и KNN.

Есть альтернатива СПСС - язык "R" https://www.r-project.org. Там все для "ИИ" есть.

Ну а теперь для тех, кто вообще не может программировать. Есть много программ, где только при помощи мыши можно обучить и использовать модель "ИИ". Самая первая программа, которая позволяет использование "ИИ" в качестве общедоступного инструмента, наверное была Века https://www.cs.waikato.ac.nz/ml/weka/index.html. Сделана в Новой Зеландии не без участия наших соотечественников для прогнозирования и планирования в сельском хозяйстве. Все остальные - это имитаты Века с более удобным как правило интерфейсом. Все создавались при университетах, были в начале полностью бесплатными но сейчас постепенно переходят в стадию коммерции. Как правило предлагают все-таки базовую бесплатную версию, которой для начала вполне хватит.

Оранж - https://orangedatamining.com/

Найм - https://www.knime.com/ (мой фаворит, когда быстро хочется проверить данные или поэкспериментировать)

РэпидМайнер https://rapidminer.com/ (временно ограниченная демо версия);

Есть еще дюжина коммерческих ( https://bit.ly/3mK7DMJ). Не буду все перечислять, просто для представления, насколько тема развита.

В вышеперечисленных инструментах создание модели - это выбор подходящих блоков и соединение этих блоков в цепь - поток данных от входных к ответу. Например:

[Считать данные из файла] -> [Отфильтровать]->[Разбить на обучающие и проверочные]->[Обучить модель с алгоритмом Х]->[Проверить]->[Выдать результат]

За недельку вполне можно разобраться, что к чему.

И так, в заключении, что нам надо для использования "ИИ" на практике?

1) Таблица с данными, где колонка это какой-либо фактор (напр. результат анализа) а строчка, это что-то объединяющее все эти факторы (напр. пациент). Одна из колонок это ответ, например, диагноз. В зависимости от количества факторов, для точной модели необходимо большее или меньшее количество строк в таблице. Чем больше, тем лучше. Сколько именно нужно - зависит от данных.

2) Скачиваем один из вышеперечисленных инструментов, разбираемся сами или ищем практиканта, студента информатики, мотивируем сотрудника готового вникнуть в тему.

3) Обучаем в инструменте модель с нашими данными.

4) Используем "ИИ" для предсказания новых результатов, имея новые значения факторов, но ещё не зная ответа. Ответ выдает наша система с "ИИ"


Источник: bit.ly

Комментарии: