
- •Искусственный интеллект. Определения искусственного интеллекта. История развития искусственного интеллекта
- •Предпосылки развития науки искусственного интеллекта
- •Парадигмы искусственного интеллекта. Тест Тьюринга
- •Подходы к созданию интеллектуальных систем.
- •Направления развития искусственного интеллекта
- •Области применения искусственного интеллекта
- •Интеллектуальные системы. Основные понятия и определения. Структура интеллектуальной системы.
- •Модели и методы знаний. Структуры памяти эвм. Информационные структуры для хранения данных.
- •Модели представления данных.
- •Концепция знаний.
- •Модели представления знаний. Логические и сетевые модели.
- •Модели представления знаний. Продукционные и фреймовые модели.
- •Графы сетей Петри Скучная и непонятная теория из лекций
- •Наглядный пример Пример 1
- •Пример 2
- •Сети Петри: дерево достижимых разметок.
- •Оценка свойств сетей Петри на основе матричных уравнений.
- •Алгебра сетей Петри: операции над сетями Петри.
- •Расширения сетей Петри: ингибиторные, приоритетные, временные.
- •Способы описания сетей Петри.
- •Методы анализа сетей Петри. Задачи анализа.
- •Методы анализа сетей Петри. Дерево достижимых разметок.
- •Методы анализа сетей Петри. Анализ на основе матричных методов.
- •Проектирование сложных вычислительных структур. Структурный подход.
- •Матричные структуры. Преимущества матричных структур.
- •Примеры проектирование структур матричных процессоров на основе проекций процессорных элементов.
- •Построение параллельных матричных систем на примере умножения двух матриц.
- •Глубокое обучение. Принцип действия глубокого обучения. Геометрическая интерпретация глубокого обучения.
- •История машинного обучения. Вероятностное моделирование. Метод опорных векторов. Деревья решений.
- •Математические основы нейронных сетей.
- •Нейронные сети. Представление данных.
- •Нейронные сети. Представление данных. Примеры.
- •Нейронные сети. Операции с тензорами. Примеры.
- •Сверточные нейронные сети. Эффект границ. Шаг свертки.
- •Основные задачи в сфере компьютерного зрения.
- •Сверточные нейронные сети. Модульность, иерархия, многократное использование
- •Рекурентные нейронные сети. Класс задач, решаемых рекурентными нейронными сетями.
- •Рекурентные нейронные сети. Обработка естественных языков.
- •Генеративное глубокое обучение. Художественная обработка изображений.
- •Генетические алгоритмы. Основные понятия.
Математические основы нейронных сетей.
В машинном обучении категория в задаче классификации называется классом. Элементы исходных данных именуются образцами. Класс, связанный с конкретным образцом, называется меткой.
Основным строительным блоком нейронных сетей является слой. Слой можно рассматривать как фильтр для данных: он принимает их и выводит в некоторой более полезной форме. В частности, слои извлекают представления из входных данных, которые, как мы надеемся, будут иметь больше смысла для решаемой задачи.
Чтобы подготовить модель к обучению, нужно настроить еще три параметра для этапа компиляции:
·оптимизатор — механизм, с помощью которого сеть будет обновлять себя, опираясь на наблюдаемые данные и функцию потерь;
·функцию потерь — которая определяет, как сеть должна оценивать качество своей работы на обучающих данных и, соответственно, корректировать ее в правильном направлении;
·метрики для мониторинга на этапах обучения и тестирования — здесь нас будет интересовать только точность (доля правильно классифицированных изображений).
Линейная алгебра играет важную роль в математических основах нейронных сетей. В основе многих операций нейронных сетей лежат матрицы и векторы, которые позволяют эффективно обрабатывать данные и делать прогнозы.
Матрицы используются для представления весов и смещений нейронов в сети, а векторы используются для представления входных данных и выходов нейронов. Операции сложения, умножения, и транспонирования матриц позволяют эффективно вычислять результаты нейронных сетей и обучать их на больших объемах данных.
Также, важную роль играют линейные уравнения и системы линейных уравнений, которые используются для оптимизации параметров нейронных сетей. Методы оптимизации, такие как градиентный спуск, основаны на линейной алгебре и позволяют эффективно обновлять веса нейронной сети в процессе обучения.
Таким образом, понимание линейной алгебры является необходимым для работы с нейронными сетями и их оптимизацией, а также для улучшения их производительности и точности предсказаний.
Нейронные сети. Представление данных.
Вообще, все современные системы машинного обучения используют тензоры в качестве основной структуры данных. Тензоры являются фундаментальной структурой данных. Это отразилось даже на названии библиотеки Google TensorFlow, которая используется при построении нейронных сетей.
Что же такое тензор? Фактически тензор — это контейнер для данных, обычно числовых. Проще говоря, контейнер для чисел.
Матрицы - это двумерные тензоры. В общем случае тензоры — это обобщение матриц с произвольным количеством измерений (в терминологии тензоров измерения часто называют осями). Тензор, содержащий единственное число, называется скаляром (скалярным тензором, или тензором нулевого ранга).
Одномерный массив чисел называют вектором, или тензором первого ранга. Тензор первого ранга имеет единственную ось.
Пусть имеется вектор
x = (12, 3, 6, 14, 7).
Этот вектор содержит пять элементов и потому называется пятимерным вектором.
Примечание. Не путать пятимерные векторы с пятимерными тензорами. Пятимерный вектор имеет только одну ось (и пять значений на этой оси), тогда как пятимерный тензор имеет пять осей (и любое количество значений на каждой из них).
Мерность может обозначать или количество элементов на данной оси (как в случае с пятимерным вектором), или количество осей в тензоре (как в пятимерном тензоре), что иногда может вызывать путаницу. В последнем случае технически более корректно говорить о тензоре пятого ранга (ранг тензора совпадает с количеством осей), но, как бы то ни было, для тензоров используется неоднозначное обозначение: пятимерный тензор.
Массив векторов — это матрица, или тензор второго ранга, или двумерный тензор. Матрица имеет две оси (часто их называют строками и столбцами).
Тензор определяется тремя ключевыми атрибутами, такими как:
- количество осей (ранг) — например, трехмерный тензор имеет три оси, а матрица — две;
- форма — кортеж целых чисел, описывающих количество измерений на каждой оси тензора. Например, матрица в предыдущем примере имеет форму (3, 5), а тензор третьего ранга — (3, 3, 5). Вектор имеет форму с единственным элементом, например (5), тогда как у скаляра форма пустая — ();
- тип данных (обычно в библиотеках для Python ему дается имя dtype) — это тип данных, содержащихся в тензоре; например, тензор может иметь тип float16, float32, float64, uint8 и др.