Friday, July 10, 2020

Реализация технологии искусственного интеллекта. Способ 1 - Нейросети

   Технологию ИИ можно реализовывать по-разному.

   Способ 1. Нейросети.

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

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


   Классификация по характеру обучения:

      1) Обучение с учителем — выходное пространство решений нейронной сети известно

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

      3) Обучение с подкреплением — система назначения штрафов и поощрений от среды


   Примеры используемых архитектур нейросетей:

   а) Обучение с учителем:
      - Перцептрон Розенблатта
      - Сверточные нейронные сети (англ. convolutional neural network)
      - Глубокие нейросети


   б) Обучение без учителя:
      - Перцептрон Розенблатта

      - Самоорганизующаяся карта Кохонена
      - Нейронная сеть Кохонена
      - Сети адаптивного резонанса
      - Нейронная сеть Хопфилда


   в) Смешанное обучение:
      - Сеть радиально-базисных функций (RBF-сеть)

   Другие известные виды нейросетей:
      - Сплайн-модель Хакимова
      - Многослойный перцептрон Розенблатта
      - Многослойный перцептрон Румельхарта
      - Сеть Джордана
      - Сеть Элмана
      - Сеть Хэмминга
      - Сеть Ворда

      - Нейронный газ
      - Когнитрон
      - Неокогнитрон
      - Хаотическая нейронная сеть
      - Осцилляторная нейронная сеть
      - Сеть встречного распространения

      - Сеть обобщённой регрессии
      - Сеть Д.Смирнова
      - Вероятностная сеть
      - Вероятностная нейронная сеть Решетова
      - Сиамская нейронная сеть
      - Нечёткий многослойный перцептрон
      - Импульсная нейронная сеть.


   В отличие от обычных алгоритмов нейросети способны обучаться на основе опыта.
   Чтобы нейросети могли функционировать таким образом, используются методы машинного обучения.
   Про машинное обучение можно прочитать здесь: https://artificialintelligentagent.blogspot.com/2020/07/artificial-intelligence-machine-learning.html

   Нейросети анализируют и выявляют связи между данными на входе и выходе, обобщают данные и формируют решения задач.

   Этапы решения задач нейросетями:

   1 Сбор данных для обучения

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

   2 Подготовка и нормализация данных
   3 Выбор топологии сети
   4 Экспериментальный подбор характеристик сети
   5 Экспериментальный подбор параметров обучения
   6 Обучение
   7 Проверка адекватности обучения
   8 Корректировка параметров, окончательное обучение
   9 Вербализация сети с целью дальнейшего использования


   Подробнее о нейросетях можно прочитать здесь:

   https://habr.com/ru/post/312450/
   https://habr.com/ru/post/313216/

Языки программирования, используемые для создания искусственного интеллекта

   Несколько распространённых языков программирования, используемых для создания ИИ:

1) С++

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

2) LISP

   Поддерживает инкапсуляцию и полиморфизм.

3) Prolog

   Плюсы: обладает древовидными механизмами структурирования данных, сопоставления шаблонов.

4) Python

   Плюсы: простая интеграция со структурами данных.


Источники:

Маношин Д. А. Программирование искусственного интеллекта // Colloquium-journal. 2019. №12 (36). URL: https://cyberleninka.ru/article/n/programmirovanie-iskusstvennogo-intellekta (дата обращения: 11.07.2020).

Интеллект и искусственный интеллект. Обучение и машинное обучение

ИНТЕЛЛЕКТ

   Искусственный (рукотворный) (машинный) интеллект - интеллект, который могут демонстрировать машины.

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


ОБУЧЕНИЕ

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

   Машинное обучение (англ. machine learning) - класс методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач.
   Для построения таких методов используются средства математической статистики, численных методов, методов оптимизации, теории вероятностей, теории графов, различные техники работы с данными в цифровой форме.
   Различают два типа обучения:
      1) Обучение по прецедентам, или индуктивное обучение
         (основано на выявлении эмпирических закономерностей в данных)

      2) Дедуктивное обучение
         (предполагает формализацию знаний экспертов и их перенос в компьютер в виде базы знаний)

   Machine learning (ML) is the study of computer algorithms that improve automatically through experience.
   Machine learning algorithms build a mathematical model based on sample data, known as "training data", in order to make predictions or decisions without being explicitly programmed to do so.
   Machine learning algorithms are used in a wide variety of applications, such as, for example, email filtering and computer vision, where it is difficult or infeasible to develop conventional algorithms to perform the needed tasks.
   Machine learning is closely related to computational statistics, which focuses on making predictions using computers.
   The study of mathematical optimization delivers methods, theory and application domains to the field of machine learning.
   Data mining is a related field of study, focusing on exploratory data analysis through unsupervised learning.
   In its application across business problems, machine learning is also referred to as predictive analytics/

Реализация технологии искусственного интеллекта. Способ 1 - Нейросети

   Технологию ИИ можно реализовывать по-разному.    Способ 1. Нейросети.    Нейронная сеть - математическая модель, а также её программ...