2022 год стал революционным для выхода нейронных сетей к широкому потребителю. Помимо голосовых помощников, которые в основном, использовались в качестве игрушки, на рынок вышли потрясающие решения которые высоко были оценены профессионалами – художниками, программистами, писателями и учеными. Наборы высоко технологических решений стали доступны для массового использования. Подавляющее большинство таких решений опирается на технологию перцептрона – устройства, которое реализует нейронные сети на физическом уровне, и известное инженерами уже на протяжении нескольких десятилетий.

Не смотря на то, что теоретические основы преподаются к каждом техническом ВУЗе, разработчики не стремились включать их в свои приложения. Это обусловлено тем, что нужно пройти несколько этапов прежде чем со сконструированной  нейронной сетью можно будет взаимодействовать – разработка нейронной сети – трудоемкий процесс, но ее обучение – еще и чрезвычайно ресурсоемкий, а потому довольно затратный при каждом изменении базовых свойств.

Некоторые технологические гиганты (Google, IBM) открыли доступ к своим платформам для создания элементов искусственного интеллекта, но, как правило, они обладали все теми же недостатками, как и известный ранее перцентрон – очень высокий порог вхождения даже для людей обладающих достаточными теоретическими знаниями – по мимо того, что все операции производились на определенных языках программирования (как правило, на Python), нужно было дружить с консолью, и владеть навыками devops. Apple не оставалась в стороне, до до поры до времени, предлагала использование все тех же подходов.

В настоящее время Apple представляет набор инструментов, которые позволяют получить мощь нейронных сетей «из коробки»: нейронные сети стали общедоступными, и могут легко экспортироваться / импортироваться в виде файлов моделей – отпадает необходимость в том, чтоб конструировать ее и обучать  – достаточно импортировать нужную модель в исходный код приложения на любом С-родственном языке, и далее использовать эту модель так же, как любой класс приложения. А для тех энтузиастов которые хотели бы создать свои модели с нуля, существует приложение, с графическим интерфейсом, которое позволяет не только пройти через создание, обучение и валидацию, но даже начать использовать ее прямо внутри приложения не написан при этом ни строчки кода (в том числе и в консоли).

Любой разработчик получает приложение «Create ML» вместе с XCode совершенно бесплатно. Его возможности ограничены только фантазией разработчика. 

При создании нового проекта в приложении «Create ML» в начале 2023 года доступны 13 типов нейросетей. Некоторые из них платформо-ориентированные, но большинство – можно использовать далеко за пределами экосистемы Apple.

Если идти антропоморфным путем, то разницу в типах понять не составляет труда: каждая сеть отвечает определенной сенсорной модальности восприятия: визуальная, аудиальная, кинестетическая. В настоящее время отсутствует тип для «обонятельной» модальности, зато, его заменяет «ментальная» модальность – возможность воспринимать ряды чисел и текст. Необходимость в выделении типов сетей обусловлено еще и тем, что для каждой из модальностей существует не только свои специфические процедуры обучения, но и стимульный материал в определенном формате.

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

Приведенный ниже список позволяет разобраться какие типы нейросетей наиболее подходят для решения общедоступных задач:

Image Classification -  связывает стимульные изображения с предопределенными классами, и позволяет соотнести ранее неизвестное изображение с определенным классом. Результат выражен в проценте вероятности того, что изображение входит к каждый класс известный нейросети.

Hidden text

Object Detection -  сегментирует изображение  – выделяет объект из фона. Это наиболее ресурсоемкий тип нейросети – для обучение требуется большое количество изображений, на котором классы объектов выделены контуром, и информация о контуре сохранена в json файле. Одна из готовых нейросетей используемая в мобильных устройствах была создана на основе 12,5 тыс. изображений, а ее тренировка занимала дни машинного времени.

Hidden text

Style transfer – позволяет преобразовать изображение к какому-то определенному стилю, который был использован в качестве стимульного материала. Например, можно перерисовать «Мону Лизу», так, как это сделал бы Ван Гог.

Style transfer
Style transfer
Hidden text

Hand Pose Classification – позволяет определить жесты руками, которые продемонстрированы на фото.

Action Classification – позволяет определить тип активности людей на видео.

Hand Action Classification – использование видео для определение пассов руками – магия входит в нашу повседневную жизнь.

Hidden text

Activity Classification - использование датчиков и сенсоров (например, в Apple Watch) для соотнесения с предустановленными классами активностей.

Sound Classification – позволяет соотнести определенные звуки с определенными предзадаными классами (что, по сути, позволяет получить и выполнить голосовую команду или определить источник звука).

Text Classification – соотносит текстовую статью (к примеру, из RSS ленты) с определенной категорией. Натренированную сеть можно использовать в любом текстовом чате с бесконечным количеством сценариев.

Word Targeting -  подобно регулярным выражениям позволяет разобрать текстовую статью на компоненты, при этом, ориентируясь не на содержание, а на структуру текста.

Tabular Classification – использует текстовые и числовые статистические данные для осуществления предсказаний, К примеру, зная возраст, гендер и социальный статус можно предсказать вероятность того, что из обладатель выживет при крушении Титаника.

class

gender

age

survived 

probability Survived / Died

3

Female

28

[D: 0.8114577995505022, S: 0.18854220044949774]

3

Female

29

[D: 0.8114577995505022, S: 0.18854220044949774]

3

Female

30

[S: 0.3560112453493577, D: 0.6439887546506423]

3

Female

31

[S: 0.4925866900218921, D: 0.507413309978108]

3

Female

32

+

[S: 0.5323354483770434, D: 0.4676645516229566]

3

Female

33

+

[S: 0.6486106272582948, D: 0.35138937274170523]

3

Female

34

+

[S: 0.6486106272582948, D: 0.35138937274170523]

3

Female

35

+

[S: 0.6486106272582948, D: 0.35138937274170523]

3

Female

36

+

[S: 0.6486106272582948, D: 0.35138937274170523]

3

Female

37

[S: 0.440002275163433, D: 0.5599977248365671]

3

Female

38

[S: 0.440002275163433, D: 0.5599977248365671]

3

Female

39

[D: 0.7520403642728353, S: 0.24795963572716476]

3

Female

40

[D: 0.7520403642728353, S: 0.24795963572716476]

3

Female

41

[D: 0.700825215199874, S: 0.29917478480012605]

3

Female

42

[D: 0.700825215199874, S: 0.29917478480012605]

Tabular Regression – предсказывает значение величины на произвольном графике, даже, тогда когда по близости нет известных других значений в окрестности выбранной точки. В математике соответствует понятиям интерполяции, экстраполяции и аппроксимации.

Интерполяция
Интерполяция
Аппроксимация
Аппроксимация

Recomendation – позволяет получить рекомендации относительно непересекающихся рядов чисел — на практике, наиболее часто используется тогда, когда нужно подобрать для покупателя корзину товаров опираясь на сделанные ранее покупки.

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

P.S. В планах публикация расширенного материала по использованию каждого шаблона.

Комментарии (0)