ИИ можно рассматривать как набор технологий и методов, которые позволяют машинам имитировать человеческие когнитивные функции. Это включает в себя способность к обучению, адаптации, распознаванию паттернов и принятию решений. Одним из ключевых аспектов ИИ является его способность анализировать большие объемы данных и извлекать из них полезную информацию. Это делает ИИ особенно полезным в эпоху больших данных, когда объемы информации растут экспоненциально.
На рис. 5.1 представлены основные компоненты ИИ и дисциплины, являющиеся основой ИИ, из которых предварительно формируется функциональная структура системы искусственного интеллекта.
Рис.5.1. Основные компоненты ИИ и дисциплины, являющиеся основой ИИ
Функциональная система искусственного интеллекта состоит из трех основных комплексов, рис.5.2.
Первый комплекс представляет собой исполнительную систему, которая объединяет всю совокупность средств, обеспечивающих выполнение программ являющейся совокупностью средств, которые выполняют для эффективного решения задач. К ним относятся программы, осуществляющие любые вычисления, программы поиска информации в базах знаний, программы логического вывода, а также вся совокупность аппаратных средств, обеспечивающих работу этих программ.
Вторым комплексом является база знаний (решатель), которая занимает центральное положение по отношению к остальным компонентам вычислительной системы в целом, через БЗ осуществляется интеграция средств вычислительной системы (ВС), участвующих в решении задач.
Рис.5.2. Функциональная структура СИИ
База данных (БД) является информационной моделью определенной предметной области внешнего мира, содержит все необходимые факты, явления, процессы и характеристики объектов в динамике их существования, а также алгоритмы управления этими данными для решения прикладных задач. База данных строится на основе модели данных, которая описывает с помощью специальных языков структуру данных, их признаки (атрибуты) и информационные связи. По типу структуры различают иерархические, сетевые и реляционные (табличные) БД. Наиболее простой и естественной формой описания данных является реляционная модель, позволяющая использовать алгебраические операции над данными (атрибутами и их отношениями) как некоторыми множествами. Отсюда возникло понятие реляционной алгебры. Реляционная алгебра оперирует не только с однозначными множествами и переменными, но и с нечеткими (размытыми) множествами и отношениями. В базу данных может входить база целей, которую формирует Человек.
База знаний (БЗ) включает в себя:
–сведения о структуре и содержании базы данных;
–информационные и математические модели, описывающие отношения и закономерности взаимодействия объектов предметной области как в текущий момент времени, так и в динамике изменения, прогнозирование потенциально возможных состояний и методы их количественной оценки;
–информационные и математические модели адаптации имеющихся знаний в случае изменений, возникающих в базе данных.
База знаний выступает по отношению к другим средствам ВС как система, содержащая декларативные знания (и ассоциированные с ними процедуры), которые имеют единые принципы представления, общий язык описания, общую схему манипулирования этими знаниями, ориентированную на осуществление инвариантных относительно различных применений операций со знаниями всех уровней. Знания, содержащиеся в БЗ, независимы от обрабатывающих программ и образуют целостную систему.
Третий комплекс- совокупность средств интеллектуального интерфейса (интеллектуальный интерфейс), имеющих гибкую структуру, которая обеспечивает возможность адаптации в широком спектре интересов конечных пользователей. Интеллектуальный интерфейс (ИИ) – система программных и аппаратных средств, обеспечивающих для конечного пользователя использование компьютера для решения задач, которые возникают в среде его профессиональной деятельности либо без посредников, либо с незначительной их помощью. ИИ включает в себя все средства уровня конечного пользователя, обеспечивающие взаимодействие между конечным пользователем и ВС в процессе решения задачи.
По выполняемым функциям средства общения можно разделить на две группы: средства трансляции и средства обеспечения взаимопонимания.
Средства трансляции осуществляют трансляцию с языка пользователя на язык представления знаний в БЗ и обратный перевод.
Средства обеспечения взаимопонимания должны поддерживать одинаковое понимание сообщения передающий и принимающей системой, т.е. приписывание принимающей системой сообщению того значения, которое и предполагалось передающей системой.
Функциональный взгляд на систему искусственного интеллекта, который включает приобретение, обработку и применение знаний, показан на рис. 5.3.
Рис.5.3. Приобретение, обработка и применение знаний
Функциональная структура дает общее представление о том, как системы искусственного интеллекта функционируют в замкнутом контуре управления. ИИ-системы учатся на знаниях, используют обучение для решения следующих функциональных задач:
–обработка текущих измерений;
–приобретение новых знаний;
–поддержка жизненного цикла системы;
–идентификация состояния объекта управления и внешней среды (включая обработку изображений);
–поддержка принятия решений, включая прогнозы;
–выполнение действий, основанных на принятых решениях;
–оценка вероятности достижения поставленных целей и рисков.
Представленная функциональная структура системы искусственного интеллекта позволяет осуществлять обработку данных в трех уровнях, рис. 5.4.
Рис.5.4. Уровни обработки данных в системе искусственного интеллекта
Первый уровень – сбор данных, второй уровень – обработка данных, третий уровень – на основе предыдущих уровней ИИ создаются новые ценности в виде интеллектуальных сервисов и товаров.
Искусственная нейронная сеть (ИНС) представляет собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры довольно просты (особенно в сравнении с процессорами, используемыми в персональных компьютерах). Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И, тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие простые по отдельности процессоры вместе способны выполнять довольно сложные задачи.
Нейронная сеть – это последовательность нейронов, соединенных между собой синапсами. Структура нейронной сети пришла в мир программирования прямиком из биологии. Благодаря такой структуре, машина обретает способность анализировать и даже запоминать различную информацию. Нейронные сети также способны не только анализировать входящую информацию, но и воспроизводить ее из своей памяти. Другими словами, нейросеть это машинная интерпретация мозга человека, в котором находятся миллионы нейронов, передающих информацию в виде электрических импульсов.
Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения— одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными и выходными данными, а также выполнять обобщение. Это значит, что в случае успешного обучения сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке, а также неполных и/или «зашумлённых», частично искажённых данных.
Компоненты нейросети:
1. Нейроны. Аналогичные нервным клеткам в мозге, они первыми обрабатывают данные и передают информацию дальше.
2.Весовые коэффициенты. Эти параметры определяют, какое значение придается каждому входному сигналу.
3.Слои. Каждая нейросеть состоит из трех основных типов слоев.
Входной слой- – отвечает за получение исходных данных, таких как изображения, текст или числовые значения. Картинка раскладывается на пиксели, каждый из которых поступает на отдельный нейрон.
Скрытые слои– выполняют основную работу по обработке информации. В этих слоях происходит множество вычислений, которые трансформируют входные данные и создают более сложные представления. Чем больше скрытых слоев, тем сложнее задачи может решать нейросеть.
Выходной слой— предоставляет конечный результат. Например, это может быть классификация изображения (что изображено на фото) или предсказание (какие тренды ожидаются в будущем).
Эти слои соединены между собой, создавая сложную сеть связей. Каждый нейрон скрытого слоя связан с несколькими нейронами предыдущего и следующего слоев, что позволяет им обрабатывать информацию на различных уровнях абстракции.
Также есть нейрон смещения и контекстный нейрон. Нейрон смещения или bias нейрон используется в большинстве нейросетей. Особенность этого типа нейронов заключается в том, что его вход и выход всегда равняются 1 и они никогда не имеют входных синапсов. Нейроны смещения могут, либо присутствовать в нейронной сети по одному на слое, либо полностью отсутствовать, 50/50 быть не может. Соединения у нейронов смещения такие же, как у обычных нейронов – со всеми нейронами следующего уровня, за исключением того, что синапсов между двумя bias нейронами быть не может. Следовательно, их можно размещать на входном слое и всех скрытых слоях, но никак не на выходном слое, так как им попросту не с чем будет формировать связь.
Нейрон смещения нужен для того, чтобы иметь возможность получать выходной результат, путем сдвига графика функции активации вправо или влево.
Синапс-это связь между двумя нейронами. У синапсов есть 1 параметр – вес. Благодаря ему, входная информация изменяется, когда передается от одного нейрона к другому. Допустим, есть 3 нейрона, которые передают информацию следующему, тогда у нас есть 3 веса, соответствующие каждому из этих нейронов. У того нейрона, у которого вес будет больше, та информация и будет доминирующей в следующем нейроне (пример – смешение цветов). На самом деле, совокупность весов нейронной сети или матрица весов – это своеобразный мозг всей системы. Именно благодаря этим весам, входная информация обрабатывается и превращается в результат. Важно помнить, что во время инициализации нейронной сети, веса расставляются в случайном порядке.
Теперь, чтобы понять, как же работают нейронные сети, давайте взглянем на ее составляющие, рис.6.1. и их параметры. Нейрон – это вычислительная единица, которая получает информацию, производит над ней простые вычисления и передает ее дальше.
Рис.6.1. Схема передачи информации
Рассмотрим пример, рис. 6.2, где изображена часть нейронной сети, и буквами I обозначены входные нейроны, буквой H – скрытый нейрон, а буквой w – веса.
Рис.6.2. Часть нейронной сети
Из формулы видно, что входная информация – это сумма всех входных данных, умноженных на соответствующие им веса. Тогда дадим на вход 1 и 0. Пусть w1=0.4 и w2 = 0.7 Входные данные нейрона Н1 будут следующими: 1*0.4+0*0.7=0.4.
Теперь, когда у нас есть входные данные, мы можем получить выходные данные, подставив входное значение в функцию активации (подробнее о ней далее). Затем, когда у нас есть выходные данные, мы передаем их дальше. И так, мы повторяем для всех слоев, пока не дойдем до выходного нейрона. Запустив такую сеть, в первый раз мы увидим, что ответ далек от правильного, потому что сеть не натренирована. Чтобы улучшить результаты мы будем ее тренировать. Но прежде, чем узнать, как это делать, давайте введем несколько терминов и свойств нейронной сети.
Модель внутренней структуры искусственного нейрона представлена на рис.6.3.
Рис. 6.3. Модель внутренней структуры искусственного нейрона
У каждого нейрона, в том числе и у искусственного, должны быть какие-то входы, через которые он принимает сигнал. Поступившие на входы сигналы умножаются на свои веса. Сигнал первого входа x1 умножается на соответствующий этому входу вес w1. В итоге получаем x1w1. И так до n-ого входа. В итоге на последнем входе получаем xnwn.
Теперь все произведения передаются в сумматор. Он просто суммирует все входные сигналы, умноженные на соответствующие веса:
x1w1+x2w2+⋯+xnwn=∑i=1nxiwi
Когда необходимо коротко записать большое выражение, состоящее из суммы повторяющихся/однотипных членов, то используют знак сигмы.
Рассмотрим простейший вариант записи:
∑i=15i=1+2+3+4+5
Таким образом снизу сигмы мы присваиваем переменной-счетчику I стартовое значение, которое будет увеличиваться, пока не дойдет до верхней границы (в примере выше это 5).
Верхняя граница может быть и переменной. Приведу пример такого случая.
О проекте
О подписке