🧬 НЕЙРОННЫЕ СЕТИ И ГЛУБОКОЕ ОБУЧЕНИЕ
От простых правил к искусственному мышлению
🎯 МЕТОДОЛОГИЧЕСКАЯ КОНЦЕПЦИЯ СПРИНТА
Философия трансформации:
1БЫЛО: Машина анализирует данные по одному признаку
2СТАЛО: Машина "думает" многоуровнево, как человеческий мозг
Ключевая идея: Дети понимают, что нейронная сеть = попытка скопировать то, как работает человеческий мозг, только в цифровом виде.
Концептуальный прорыв:
- Линейное → Многослойное: От простых “если-то” к сложным связям
- Жесткая логика → Гибкое мышление: Сеть адаптируется и “размышляет”
- Отдельные признаки → Целостное понимание: Видит общую картину
🧠 ПЕДАГОГИЧЕСКИЕ ЦЕЛИ СПРИНТА
Концептуальные цели:
- “Искусственный нейрон” - как цифровая версия клетки мозга
- “Слои мышления” - как сложные идеи строятся из простых
- “Обучение через ошибки” - как сеть исправляет свои ошибки
- “Эмерджентность” - когда простые элементы создают сложное поведение
Технические цели:
- Понимание архитектуры нейронных сетей
- Принципы обратного распространения ошибки
- Различные типы слоев и их назначение
- Тренировка сети на реальных данных класса
Метакогнитивные цели:
- “Системное мышление” - понимание emergent behavior
- “Абстрактное мышление” - от конкретного к общему
- “Итеративное мышление” - улучшение через повторение
📚 СТРУКТУРА СПРИНТА (4 занятия)
Занятие 1: “Как работает мозг?” 🧠
Длительность: 90 минут
Фаза 1: Биологический нейрон vs искусственный (25 мин)
Метод: Биомиметическое моделирование
Сравнительный анализ:
1БИОЛОГИЧЕСКИЙ НЕЙРОН 🧬:
2- Получает сигналы от других нейронов (дендриты)
3- Обрабатывает информацию (тело клетки)
4- Если сигнал сильный → передает дальше (аксон)
5- Иначе → молчит
6
7ИСКУССТВЕННЫЙ НЕЙРОН 🤖:
8- Получает числа от других нейронов (входы)
9- Вычисляет взвешенную сумму (обработка)
10- Если сумма > порога → активируется (выход = 1)
11- Иначе → не активируется (выход = 0)
12
13ПСЕВДОКОД ИСКУССТВЕННОГО НЕЙРОНА:
14нейрон_думает(входные_сигналы, веса, порог):
15 сумма = 0
16 для каждого сигнала:
17 сумма += сигнал * соответствующий_вес
18
19 если сумма > порог:
20 вернуть 1 # "Да, я это чувствую!"
21 иначе:
22 вернуть 0 # "Нет, слишком слабо"
Практическое упражнение: “Человек-нейрон”
- Один ученик = нейрон
- Другие подают “сигналы” (числа на карточках)
- Нейрон считает сумму и решает: активироваться или нет
Фаза 2: От одного нейрона к сети (25 мин)
Концепция: “Один солдат не армия, один нейрон не мозг”
1ЭВОЛЮЦИЯ СЛОЖНОСТИ:
2
31 НЕЙРОН 🔵:
4 - Может только "ДА" или "НЕТ"
5 - Как выключатель света
6
7НЕСКОЛЬКО НЕЙРОНОВ 🔵🔵🔵:
8 - Могут комбинировать решения
9 - Как светофор (красный, желтый, зеленый)
10
11СЛОЙ НЕЙРОНОВ 🔵🔵🔵
12 🔵🔵🔵:
13 - Каждый смотрит на проблему по-своему
14 - Вместе видят полную картину
15
16МНОГОСЛОЙНАЯ СЕТЬ:
17ВХОД → [СЛОЙ 1] → [СЛОЙ 2] → [СЛОЙ 3] → ВЫХОД
18🌡️🔊 🔵🔵🔵 🔵🔵 🔵 😊/😞
Аналогия “Распознавание лиц”:
1СЛОЙ 1: Находит простые линии и точки
2СЛОЙ 2: Комбинирует их в глаза, нос, рот
3СЛОЙ 3: Понимает "это лицо" или "не лицо"
4
5Для нашего класса:
6СЛОЙ 1: Анализирует отдельные показания датчиков
7СЛОЙ 2: Понимает "жарко", "шумно", "темно"
8СЛОЙ 3: Определяет "комфортно" или "некомфортно"
Фаза 3: Архитектура простой нейросети (25 мин)
Метод: Визуальное проектирование
Проектируем сеть для нашего умного класса:
1ЗАДАЧА: По данным датчиков определить настроение класса
2
3АРХИТЕКТУРА "ClassMoodNet":
4
5ВХОДНОЙ СЛОЙ (4 нейрона):
6 🌡️ Температура (нормализованная 0-1)
7 💡 Освещенность (нормализованная 0-1)
8 🔊 Шум (нормализованный 0-1)
9 🚶 Движение (0 или 1)
10
11СКРЫТЫЙ СЛОЙ 1 (6 нейронов):
12 🔵 "Детектор холода" - активен при низкой температуре
13 🔵 "Детектор жары" - активен при высокой температуре
14 🔵 "Детектор тишины" - активен при низком шуме
15 🔵 "Детектор шума" - активен при высоком шуме
16 🔵 "Детектор темноты" - активен при слабом свете
17 🔵 "Детектор активности" - активен при движении
18
19СКРЫТЫЙ СЛОЙ 2 (3 нейрона):
20 🔵 "Анализатор комфорта" - комбинирует температуру + свет
21 🔵 "Анализатор спокойствия" - комбинирует шум + движение
22 🔵 "Анализатор энергии" - общий уровень активности
23
24ВЫХОДНОЙ СЛОЙ (3 нейрона):
25 😊 "Хорошее настроение" (0.8-1.0)
26 😐 "Нейтральное настроение" (0.4-0.7)
27 😞 "Плохое настроение" (0.0-0.3)
28
29ПСЕВДОКОД РАБОТЫ СЕТИ:
30предсказать_настроение(температура, свет, шум, движение):
31 # Нормализуем входы
32 входы = [температура/40, свет/100, шум/100, движение]
33
34 # Слой 1: обнаружение базовых паттернов
35 слой1 = []
36 для каждого нейрона1 в скрытом_слое1:
37 активация1 = сигмоида(сумма(входы * веса_нейрона1))
38 слой1.добавить(активация1)
39
40 # Слой 2: комбинирование паттернов
41 слой2 = []
42 для каждого нейрона2 в скрытом_слое2:
43 активация2 = сигмоида(сумма(слой1 * веса_нейрона2))
44 слой2.добавить(активация2)
45
46 # Выходной слой: финальное решение
47 настроения = []
48 для каждого выходного_нейрона:
49 вероятность = сигмоида(сумма(слой2 * веса_выхода))
50 настроения.добавить(вероятность)
51
52 вернуть настроения # [вероятность_хорошего, вероятность_нейтрального, вероятность_плохого]
53
54функция_активации_сигмоида(x):
55 вернуть 1 / (1 + e^(-x)) # Плавная функция от 0 до 1
Фаза 4: Магия функций активации (15 мин)
Концепция: “Как нейроны решают: молчать или говорить”
1ТИПЫ ФУНКЦИЙ АКТИВАЦИИ:
2
31. СТУПЕНЬКА (Пороговая):
4 если x > 0: вернуть 1
5 иначе: вернуть 0
6 💭 "Жестко: либо да, либо нет"
7
82. СИГМОИДА:
9 вернуть 1 / (1 + e^(-x))
10 💭 "Плавно: от 0 до 1, как громкость"
11
123. TANH:
13 вернуть (e^x - e^(-x)) / (e^x + e^(-x))
14 💭 "Плавно: от -1 до +1, как температура"
15
164. ReLU (Популярная):
17 если x > 0: вернуть x
18 иначе: вернуть 0
19 💭 "Просто: либо ноль, либо как есть"
20
21ДЛЯ НАШЕГО КЛАССА ИСПОЛЬЗУЕМ СИГМОИДУ:
22- Входы могут быть любыми числами
23- Выходы всегда от 0 до 1 (как проценты)
24- Плавные переходы между состояниями
Занятие 2: “Как нейросеть учится?” 📚
Длительность: 90 минут
Фаза 1: Обучение через ошибки (30 мин)
Концепция: “Ошибка - лучший учитель”
Философия обучения нейросети:
1ЧЕЛОВЕК УЧИТСЯ ТАК:
21. Пробует решить задачу
32. Получает оценку: "правильно" или "неправильно"
43. Анализирует ошибку
54. Корректирует подход
65. Пробует снова
7
8НЕЙРОСЕТЬ УЧИТСЯ ТАК:
91. Делает предсказание
102. Сравнивает с правильным ответом
113. Вычисляет размер ошибки
124. Корректирует веса связей
135. Повторяет процесс
14
15ПСЕВДОКОД ОБУЧЕНИЯ:
16обучить_сеть(тренировочные_данные, количество_эпох):
17 для каждой эпохи в range(количество_эпох):
18 общая_ошибка = 0
19
20 для каждого примера в тренировочные_данные:
21 # Прямой проход: делаем предсказание
22 предсказание = сеть.предсказать(пример.входы)
23
24 # Вычисляем ошибку
25 ошибка = вычислить_ошибку(предсказание, пример.правильный_ответ)
26 общая_ошибка += ошибка
27
28 # Обратный проход: исправляем веса
29 сеть.обновить_веса_по_ошибке(ошибка)
30
31 если общая_ошибка < допустимый_уровень:
32 print("🎉 Сеть обучена!")
33 break
34 иначе:
35 print(f"Эпоха {эпоха}: ошибка = {общая_ошибка}")
Фаза 2: Алгоритм обратного распространения (25 мин)
Метод: Игровое моделирование
Игра: “Исправь ошибку по цепочке”
1СИТУАЦИЯ: Сеть предсказала "плохое настроение", а на самом деле "хорошее"
2
3ШАГ 1: НАЙТИ ВИНОВНИКА В ВЫХОДНОМ СЛОЕ
4выходной_нейрон_"плохое".ошибка = большая
5выходной_нейрон_"хорошее".ошибка = большая (но в другую сторону)
6
7ШАГ 2: РАСПРОСТРАНИТЬ ВИНУ НА ПРЕДЫДУЩИЙ СЛОЙ
8для каждого нейрона во втором_скрытом_слое:
9 его_вина = сумма(ошибки_выходных_нейронов * веса_связей)
10
11ШАГ 3: ПРОДОЛЖИТЬ ДО ПЕРВОГО СЛОЯ
12для каждого нейрона в первом_скрытом_слое:
13 его_вина = сумма(ошибки_второго_слоя * веса_связей)
14
15ШАГ 4: ИСПРАВИТЬ ВЕСА
16для каждой связи в сети:
17 новый_вес = старый_вес - скорость_обучения * градиент_ошибки
18
19АНАЛОГИЯ "ИСПРАВЛЕНИЕ КОНТРОЛЬНОЙ":
20- Учитель видит неправильный ответ на последней странице
21- Ищет, на каком этапе решения была ошибка
22- Исправляет ошибку на каждом этапе
23- В следующий раз ученик решает правильно
Практическое упражнение: “Человеческая нейросеть”
- 6 учеников = нейроны в 2 слоях (3+3)
- Передают числа-сигналы друг другу
- При ошибке “исправляют веса” (меняют правила передачи)
Фаза 3: Данные для обучения нашей сети (25 мин)
Концепция: “Хорошие примеры = умная сеть”
Подготовка тренировочных данных:
1СБОР ДАННЫХ ДЛЯ ClassMoodNet:
2
3ПРИМЕРЫ ХОРОШЕГО НАСТРОЕНИЯ 😊:
4[22°C, 65% света, 30% шума, движение] → "хорошее"
5[21°C, 70% света, 25% шума, движение] → "хорошее"
6[23°C, 60% света, 35% шума, движение] → "хорошее"
7
8ПРИМЕРЫ ПЛОХОГО НАСТРОЕНИЯ 😞:
9[16°C, 20% света, 10% шума, нет движения] → "плохое"
10[29°C, 95% света, 85% шума, движение] → "плохое"
11[18°C, 25% света, 90% шума, движение] → "плохое"
12
13ПРИМЕРЫ НЕЙТРАЛЬНОГО НАСТРОЕНИЯ 😐:
14[20°C, 45% света, 50% шума, движение] → "нейтральное"
15[24°C, 55% света, 45% шума, нет движения] → "нейтральное"
16
17ПСЕВДОКОД ПОДГОТОВКИ ДАННЫХ:
18подготовить_тренировочные_данные():
19 данные = []
20
21 # Собираем исторические данные из системы
22 для каждого дня в прошлом_месяце:
23 показания_датчиков = получить_данные_датчиков(день)
24 настроение_класса = спросить_у_учителя(день) # экспертная оценка
25
26 пример = {
27 "входы": нормализовать(показания_датчиков),
28 "выход": закодировать_настроение(настроение_класса)
29 }
30 данные.добавить(пример)
31
32 # Разделяем на тренировочные и тестовые
33 тренировочные = данные[:80%] # 80% для обучения
34 тестовые = данные[80%:] # 20% для проверки
35
36 вернуть тренировочные, тестовые
37
38нормализовать(данные):
39 # Приводим все к диапазону 0-1
40 температура = (данные.температура - 10) / 30 # 10-40°C → 0-1
41 свет = данные.свет / 100 # 0-100% → 0-1
42 шум = данные.шум / 100 # 0-100% → 0-1
43 движение = данные.движение # уже 0 или 1
44
45 вернуть [температура, свет, шум, движение]
46
47закодировать_настроение(настроение_текстом):
48 если настроение_текстом == "хорошее":
49 вернуть [1, 0, 0] # one-hot encoding
50 иначе_если настроение_текстом == "нейтральное":
51 вернуть [0, 1, 0]
52 иначе: # плохое
53 вернуть [0, 0, 1]
Фаза 4: Гиперпараметры и их настройка (10 мин)
Концепция: “Настройки, которые делают сеть умнее”
1ГЛАВНЫЕ ГИПЕРПАРАМЕТРЫ:
2
31. СКОРОСТЬ ОБУЧЕНИЯ 🏃♂️:
4 - Слишком быстро (0.9): сеть "перепрыгивает" правильный ответ
5 - Слишком медленно (0.001): сеть учится вечность
6 - Оптимально (0.1): сеть учится стабильно
7
82. КОЛИЧЕСТВО ЭПОХ 🔄:
9 - Мало (10): сеть не успевает выучиться
10 - Много (10000): сеть "зазубривает" примеры
11 - Оптимально (100-500): сеть обобщает знания
12
133. РАЗМЕР СЛОЕВ 📏:
14 - Слишком маленькие: сеть слишком простая
15 - Слишком большие: сеть слишком сложная
16 - Правило большого пальца: 2-3 слоя, каждый в 1.5-2 раза больше входов
17
18ПСЕВДОКОД НАСТРОЙКИ:
19найти_лучшие_параметры():
20 лучшая_точность = 0
21 лучшие_параметры = null
22
23 для скорости в [0.01, 0.1, 0.3]:
24 для размера_слоя в [4, 6, 8]:
25 для эпох в [100, 300, 500]:
26 сеть = создать_сеть(размер_слоя)
27 обучить_сеть(сеть, скорость, эпох)
28 точность = протестировать_сеть(сеть)
29
30 если точность > лучшая_точность:
31 лучшая_точность = точность
32 лучшие_параметры = [скорость, размер_слоя, эпох]
33
34 вернуть лучшие_параметры
Занятие 3: “Специальные типы нейросетей” 🏗️
Длительность: 90 минут
Фаза 1: Сверточные сети для распознавания образов (25 мин)
Концепция: “Как научить компьютер ‘видеть’”
1ПРОБЛЕМА ОБЫЧНЫХ СЕТЕЙ:
2- Видят изображение как набор отдельных пикселей
3- Не понимают пространственные связи
4- "Видят деревья, но не видят лес"
5
6РЕШЕНИЕ - СВЕРТОЧНЫЕ СЛОИ:
7- Анализируют небольшие области изображения
8- Находят локальные паттерны (линии, углы, текстуры)
9- Комбинируют паттерны в сложные объекты
10
11ДЛЯ НАШЕГО УМНОГО КЛАССА:
12Задача: Распознавать эмоции людей по камере
13
14АРХИТЕКТУРА CNN ДЛЯ ЭМОЦИЙ:
15
16ВХОД: Изображение лица 64x64 пикселя
17
18СВЕРТОЧНЫЙ СЛОЙ 1:
19- Ищет простые линии и края
20- Результат: карты признаков 32x32
21
22СВЕРТОЧНЫЙ СЛОЙ 2:
23- Комбинирует линии в формы (глаза, рот)
24- Результат: карты признаков 16x16
25
26СВЕРТОЧНЫЙ СЛОЙ 3:
27- Понимает выражения лица
28- Результат: карты признаков 8x8
29
30ПОЛНОСВЯЗНЫЕ СЛОИ:
31- Принимают решение об эмоции
32- Выход: [радость, грусть, злость, удивление, страх]
33
34ПСЕВДОКОД СВЕРТКИ:
35применить_фильтр(изображение, фильтр):
36 результат = создать_пустую_матрицу()
37
38 для каждой позиции в изображении:
39 область = извлечь_область_3x3(изображение, позиция)
40 значение = сумма(область * фильтр)
41 результат[позиция] = функция_активации(значение)
42
43 вернуть результат
44
45# Примеры фильтров:
46фильтр_вертикальных_линий = [[-1, 0, 1],
47 [-1, 0, 1],
48 [-1, 0, 1]]
49
50фильтр_горизонтальных_линий = [[-1, -1, -1],
51 [ 0, 0, 0],
52 [ 1, 1, 1]]
Фаза 2: Рекуррентные сети для временных данных (25 мин)
Концепция: “Сети с памятью”
1ПРОБЛЕМА ОБЫЧНЫХ СЕТЕЙ:
2- Анализируют только текущий момент
3- Не помнят прошлое
4- Не понимают последовательности
5
6РЕШЕНИЕ - РЕКУРРЕНТНЫЕ СЕТИ (RNN):
7- Имеют "память" о предыдущих состояниях
8- Анализируют временные паттерны
9- Понимают тренды и циклы
10
11ДЛЯ НАШЕГО КЛАССА:
12Задача: Предсказать температуру на следующий час
13
14АРХИТЕКТУРА RNN ДЛЯ ВРЕМЕННЫХ РЯДОВ:
15
16ВХОД: Последовательность температур [19°C, 20°C, 21°C, 22°C]
17
18RNN СЛОЙ:
19- Обрабатывает каждую температуру по порядку
20- Запоминает тренд в внутреннем состоянии
21- Передает "память" следующему шагу
22
23ВЫХОД: Предсказание следующей температуры 23°C
24
25ПСЕВДОКОД RNN:
26предсказать_следующую_температуру(последовательность_температур):
27 скрытое_состояние = инициализировать_нулями()
28
29 для каждой температуры в последовательности:
30 # Обновляем память на основе текущих данных и прошлой памяти
31 скрытое_состояние = tanh(
32 температура * вес_входа +
33 скрытое_состояние * вес_памяти +
34 смещение
35 )
36
37 # Финальное предсказание на основе накопленной памяти
38 предсказание = скрытое_состояние * выходной_вес
39 вернуть предсказание
40
41УЛУЧШЕННАЯ ВЕРСИЯ - LSTM:
42# LSTM решает проблему "забывания" в длинных последовательностях
43
44lstm_ячейка(вход, предыдущая_память, предыдущий_выход):
45 # Ворота забывания: что забыть из старой памяти
46 забыть = сигмоида(вход * вес_забыть + предыдущий_выход * вес_забыть2)
47
48 # Ворота входа: что запомнить из нового входа
49 запомнить = сигмоида(вход * вес_запомнить + предыдущий_выход * вес_запомнить2)
50 новая_информация = tanh(вход * вес_новая + предыдущий_выход * вес_новая2)
51
52 # Обновляем память
53 новая_память = предыдущая_память * забыть + запомнить * новая_информация
54
55 # Ворота выхода: что показать наружу
56 выход_ворота = сигмоида(вход * вес_выход + предыдущий_выход * вес_выход2)
57 новый_выход = выход_ворота * tanh(новая_память)
58
59 вернуть новая_память, новый_выход
Фаза 3: Автоэнкодеры для поиска аномалий (25 мин)
Концепция: “Сети, которые учатся понимать ‘нормальность’”
1ИДЕЯ АВТОЭНКОДЕРА:
21. Сеть учится сжимать данные (кодировщик)
32. Потом восстанавливать их (декодировщик)
43. Если восстановление плохое → что-то необычное
5
6ДЛЯ НАШЕГО КЛАССА:
7Задача: Обнаружить неисправности датчиков
8
9АРХИТЕКТУРА АВТОЭНКОДЕРА:
10
11ВХОДЫ: [температура, свет, звук, движение] = 4 признака
12
13КОДИРОВЩИК:
144 → 3 → 2 нейрона (сжимаем информацию)
15
16СКРЫТОЕ ПРЕДСТАВЛЕНИЕ: 2 нейрона
17(вся информация о состоянии класса в 2 числах)
18
19ДЕКОДИРОВЩИК:
202 → 3 → 4 нейрона (восстанавливаем информацию)
21
22ВЫХОДЫ: [восстановленная_температура, свет, звук, движение]
23
24ПСЕВДОКОД АВТОЭНКОДЕРА:
25обучить_автоэнкодер(нормальные_данные):
26 для каждого примера в нормальные_данные:
27 # Прямой проход
28 сжатое = кодировщик(пример)
29 восстановленное = декодировщик(сжатое)
30
31 # Ошибка восстановления
32 ошибка = среднеквадратичная_ошибка(пример, восстановленное)
33
34 # Обновляем веса чтобы минимизировать ошибку
35 обновить_веса(ошибка)
36
37обнаружить_аномалию(новые_данные):
38 сжатое = кодировщик(новые_данные)
39 восстановленное = декодировщик(сжатое)
40
41 ошибка_восстановления = mse(новые_данные, восстановленное)
42
43 если ошибка_восстановления > порог:
44 вернуть "🚨 АНОМАЛИЯ ОБНАРУЖЕНА!"
45 иначе:
46 вернуть "✅ Все нормально"
47
48ПРИМЕРЫ АНОМАЛИЙ:
49- Датчик температуры показывает 999°C
50- Датчик движения постоянно активен
51- Все датчики показывают одинаковые значения
52- Резкие скачки без объяснений
Фаза 4: Ансамбли сетей (15 мин)
Концепция: “Мудрость толпы в мире ИИ”
1ПРИНЦИП: Несколько разных сетей работают лучше одной
2
3ТИПЫ АНСАМБЛЕЙ:
4
51. ГОЛОСОВАНИЕ:
6 - Обучаем 5 разных сетей
7 - Каждая дает свое предсказание
8 - Выбираем то, за что проголосовало большинство
9
102. УСРЕДНЕНИЕ:
11 - Берем среднее арифметическое предсказаний
12 - Сглаживает ошибки отдельных сетей
13
143. ВЗВЕШЕННОЕ КОМБИНИРОВАНИЕ:
15 - Более точным сетям даем больший вес
16 - Менее точным - меньший
17
18ДЛЯ НАШЕГО КЛАССА:
19создать_ансамбль_для_настроения():
20 # Создаем разные архитектуры
21 сеть1 = создать_сеть([4, 6, 3]) # широкая
22 сеть2 = создать_сеть([4, 4, 4, 3]) # глубокая
23 сеть3 = создать_сеть([4, 8, 3]) # очень широкая
24
25 # Обучаем каждую на немного разных данных
26 обучить(сеть1, данные_вариант1)
27 обучить(сеть2, данные_вариант2)
28 обучить(сеть3, данные_вариант3)
29
30 ансамбль = [сеть1, сеть2, сеть3]
31 вернуть ансамбль
32
33предсказать_ансамблем(ансамбль, входные_данные):
34 предсказания = []
35 для каждой сети в ансамбле:
36 предсказание = сеть.предсказать(входные_данные)
37 предсказания.добавить(предсказание)
38
39 # Усредняем результаты
40 финальное_предсказание = среднее(предсказания)
41
42 # Оцениваем уверенность
43 разброс = стандартное_отклонение(предсказания)
44 уверенность = 1 - разброс # меньше разброс = больше уверенность
45
46 вернуть финальное_предсказание, уверенность
Занятие 4: “Глубокое обучение в действии” ⚡
Длительность: 90 минут
Фаза 1: Transfer Learning (25 мин)
Концепция: “Не изобретаем велосипед заново”
1ИДЕЯ: Используем уже обученную сеть и дообучаем для своих задач
2
3АНАЛОГИЯ:
4- Вы умеете ездить на велосипеде
5- Учитесь ездить на мотоцикле
6- Не учитесь держать равновесие заново - переносите навык
7
8ДЛЯ НАШЕГО КЛАССА:
9Берем сеть, обученную распознавать эмоции на миллионах лиц,
10и дообучаем для распознавания эмоций учеников нашего класса
11
12ПСЕВДОКОД TRANSFER LEARNING:
13применить_transfer_learning():
14 # Загружаем предобученную сеть
15 базовая_сеть = загрузить("ResNet_эмоции_миллион_лиц")
16
17 # Замораживаем нижние слои (они уже умеют находить глаза, рот)
18 для слоя в базовая_сеть.слои[:-2]:
19 слой.заморозить_веса()
20
21 # Заменяем выходной слой под наши классы эмоций
22 базовая_сеть.последний_слой = создать_слой(5_наших_эмоций)
23
24 # Дообучаем только последние слои на наших данных
25 обучить(базовая_сеть, наши_данные_с_лицами_учеников, эпох=50)
26
27 # Результат: сеть понимает эмоции именно наших учеников
28 вернуть адаптированная_сеть
29
30ПРЕИМУЩЕСТВА:
31✅ Быстрое обучение (50 эпох вместо 5000)
32✅ Нужно мало данных (100 фото вместо 100000)
33✅ Высокая точность с первых минут
34✅ Использует "мудрость" больших датасетов
Фаза 2: Интерпретируемость нейросетей (25 мин)
Концепция: “Заглядываем в ‘черный ящик’”
1ПРОБЛЕМА: Нейросети работают, но мы не понимаем КАК
2
3МЕТОДЫ ИНТЕРПРЕТАЦИИ:
4
51. ВАЖНОСТЬ ПРИЗНАКОВ:
6какие_датчики_важнее():
7 для каждого датчика:
8 предсказание_с_датчиком = сеть.предсказать(все_данные)
9 предсказание_без_датчика = сеть.предсказать(данные_без_этого_датчика)
10
11 важность_датчика = abs(предсказание_с - предсказание_без)
12
13 отсортировать_по_важности()
14 вернуть рейтинг_датчиков
15
162. ВИЗУАЛИЗАЦИЯ СЛОЕВ:
17что_видит_каждый_слой():
18 для каждого слоя в сети:
19 активации = получить_активации_слоя(тестовые_данные)
20
21 если слой == первый:
22 print("Слой 1 реагирует на: резкие изменения температуры")
23 иначе_если слой == второй:
24 print("Слой 2 комбинирует: температуру + время дня")
25 иначе:
26 print("Слой 3 принимает финальное решение")
27
283. ПРИМЕРЫ РЕШЕНИЙ:
29объяснить_решение(входные_данные, предсказание):
30 важные_факторы = найти_важные_признаки(входные_данные)
31
32 объяснение = "Я предсказал '{предсказание}' потому что:\n"
33 для фактора in важные_факторы:
34 если фактор.влияние > 0:
35 объяснение += f"✅ {фактор.название} поддерживает это решение\n"
36 иначе:
37 объяснение += f"❌ {фактор.название} противоречит этому решению\n"
38
39 вернуть объяснение
40
41ПРИМЕР ОБЪЯСНЕНИЯ:
42Вход: [25°C, 40% света, 80% шума, движение есть]
43Предсказание: "Плохое настроение" (90% уверенности)
44
45Объяснение:
46"Я предсказал 'плохое настроение' потому что:
47✅ Высокий уровень шума (80%) сильно влияет на дискомфорт
48✅ Низкое освещение (40%) создает угнетающую атмосферу
49❌ Температура (25°C) почти комфортная
50❌ Есть движение - люди активны
51Итог: шум перевешивает позитивные факторы"
Фаза 3: Этика глубокого обучения (25 мин)
Концепция: “С великой силой…”
1ЭТИЧЕСКИЕ ДИЛЕММЫ ГЛУБОКОГО ОБУЧЕНИЯ:
2
31. ПРЕДВЗЯТОСТЬ ДАННЫХ:
4проблема_предвзятости():
5 если тренировочные_данные содержат стереотипы:
6 сеть.научится(стереотипы)
7
8 пример_плохой_практики:
9 # Если в данных больше примеров "мальчики шумят"
10 сеть может решить: мальчик в классе → скорее всего будет шумно
11
12 решение:
13 - Сбалансированные данные
14 - Проверка на справедливость
15 - Тестирование на разных группах
16
172. ПРОЗРАЧНОСТЬ VS ЭФФЕКТИВНОСТЬ:
18дилемма_прозрачности():
19 простая_модель = дерево_решений # понятно, но менее точно
20 сложная_модель = глубокая_сеть # точно, но непонятно
21
22 для критических_систем:
23 выбрать простая_модель # безопасность > точность
24 для рекомендательных_систем:
25 выбрать сложная_модель # удобство > прозрачность
26
273. ПРАВО НА ОБЪЯСНЕНИЕ:
28пользователь_имеет_право_знать():
29 если система_влияет_на_жизнь_человека:
30 система.должна.объяснить_свое_решение()
31
32 для_нашего_класса:
33 если сеть_рекомендует("выключить обогрев в холодный день"):
34 показать_объяснение("Я считаю что достаточно тепло, потому что...")
35 позволить_пользователю_отменить_решение()
36
374. КОНФИДЕНЦИАЛЬНОСТЬ:
38защита_приватности():
39 не_собирать(личные_данные_без_разрешения)
40 не_делиться(данными_с_третьими_лицами)
41 давать_пользователю_контроль(над_своими_данными)
42
43 методы_защиты:
44 - Анонимизация данных
45 - Локальное обучение (данные не покидают устройство)
46 - Дифференциальная приватность
47
48КОДЕКС ЭТИЧНОГО ИИ ДЛЯ ДЕТЕЙ:
491. 🤝 Справедливость: ИИ одинаково хорошо работает для всех
502. 🔍 Прозрачность: Всегда можно понять, почему ИИ принял решение
513. 🛡️ Безопасность: ИИ никогда не причинит вред
524. 🔒 Приватность: ИИ уважает личные границы
535. 👥 Подотчетность: За решения ИИ отвечают люди
546. 🎯 Полезность: ИИ создается для помощи людям
Фаза 4: Будущее нейросетей (15 мин)
Концепция: “Что дальше?”
1ТРЕНДЫ В ГЛУБОКОМ ОБУЧЕНИИ:
2
31. ATTENTION И ТРАНСФОРМЕРЫ:
4 - Сети учатся "обращать внимание" на важное
5 - Понимают контекст лучше людей
6 - GPT, BERT - примеры таких сетей
7
82. ГЕНЕРАТИВНЫЕ МОДЕЛИ:
9 - Создают новые изображения, тексты, музыку
10 - DALL-E, Stable Diffusion, ChatGPT
11 - Для класса: генерация оптимальных расписаний
12
133. ФЕДЕРАТИВНОЕ ОБУЧЕНИЕ:
14 - Сети обучаются без передачи данных
15 - Каждое устройство обучает локально
16 - Обмениваются только знаниями, не данными
17
184. НЕЙРОМОРФНЫЕ ЧИПЫ:
19 - Железо, имитирующее настоящий мозг
20 - Сверхнизкое энергопотребление
21 - Обучение в реальном времени
22
23НАША ROADMAP:
24эволюция_нашей_системы():
25 версия_1_0 = "Простая классификация настроения"
26 версия_2_0 = "Понимание эмоций по лицам"
27 версия_3_0 = "Генерация оптимальных условий"
28 версия_4_0 = "Предсказание поведения класса"
29 версия_5_0 = "Полноценный ИИ-ассистент учителя"
30
31 финальная_мечта = "ИИ, который понимает каждого ученика и помогает ему учиться лучше"
🎯 ИТОГИ СПРИНТА 20
Ключевые достижения:
✅ Понимание нейросетей - как работает искусственный мозг
✅ Алгоритм обучения - как сети учатся через ошибки
✅ Специализированные архитектуры - CNN, RNN, автоэнкодеры
✅ Практическое применение - нейросети для умного класса
✅ Этика ИИ - ответственность при создании “думающих” систем
Концептуальные прорывы:
- Эмерджентность - как простые элементы создают сложное поведение
- Многослойное мышление - от простого к сложному через иерархии
- Обучение через ошибки - как неудачи ведут к мудрости
- Баланс интерпретируемости и эффективности
Метакогнитивные навыки:
- Системное понимание сложных алгоритмов
- Критическое мышление об ограничениях ИИ
- Этическое осмысление технологических решений
🚀 ПОДГОТОВКА К СПРИНТУ 21
Мостик к компьютерному зрению:
“Наши нейросети умеют анализировать числа от датчиков. А что если научить их ‘видеть’ мир глазами, понимать жесты, лица и поведение людей в классе?”
Фундамент для Computer Vision:
- ✅ Понимание сверточных сетей
- ✅ Принципы обучения на больших данных
- ✅ Опыт Transfer Learning
- ✅ Этические принципы ИИ-разработки
🎯 АНАЛИЗ СПРИНТА 20 С ТОЧКИ ЗРЕНИЯ РЕБЕНКА
Ты прав! Основа понятна, но нужны детские мостики для сложных моментов.
✅ ЧТО УЖЕ ХОРОШО РАБОТАЕТ:
✅ Аналогии с мозгом - дети понимают
✅ Пошаговые объяснения - логично
✅ Практические примеры с их классом - близко
✅ Псевдокод - как рецепт приготовления
✅ Этические вопросы - дети любят рассуждать о справедливости
🎨 ДОПОЛНЕНИЯ ДЛЯ ДЕТСКОГО ПОНИМАНИЯ
📚 Занятие 1: Добавить физические эксперименты
Игра “Живая нейросеть”:
1МАТЕРИАЛЫ:
2- 9 учеников = 9 нейронов
3- Карточки с числами
4- Калькуляторы (или простое сложение)
5
6ПРАВИЛА:
71. Расставляем детей в 3 ряда (3 слоя сети)
82. Первый ряд получает "сигналы" (числа)
93. Каждый ребенок складывает свои числа
104. Если сумма > 10 → поднимает руку ("активируется")
115. Передает сигнал следующему ряду
12
13РЕЗУЛЬТАТ: Дети ФИЗИЧЕСКИ ощущают, как работает сеть!
Конструктор “Нейрон из Lego”:
1СТРОИМ НЕЙРОН:
2🔵 Синий кубик = тело нейрона
3🟡 Желтые палочки = входящие сигналы (дендриты)
4🔴 Красная палочка = выходящий сигнал (аксон)
5⚪ Белые кубики = веса (можем менять)
6
7ЭКСПЕРИМЕНТ:
8- Подаем разные комбинации сигналов
9- Меняем "веса" (количество белых кубиков)
10- Смотрим, как меняется поведение нейрона
📊 Занятие 2: Упростить обучение
Игра “Учитель и ученик-робот”:
1РОЛИ:
2👨🏫 Учитель (один ребенок)
3🤖 Робот-ученик (другой ребенок)
4📊 Секретари (записывают ошибки)
5
6СЦЕНАРИЙ:
71. Робот пытается угадать настроение по "данным"
82. Учитель говорит: "Правильно!" или "Неправильно!"
93. Робот "корректирует" свои правила
104. Повторяем пока робот не станет точным
11
12ВЫВОД: "Обучение = исправление ошибок по кругу"
Схема “Путешествие ошибки”:
1🎯 ОШИБКА РОДИЛАСЬ НА ВЫХОДЕ
2 ↓
3😱 "Ой, я ошибся!"
4 ↓
5🔍 Ищем виновников в предыдущих слоях
6 ↓
7🔧 Исправляем "настройки" каждого нейрона
8 ↓
9✅ Пробуем снова с новыми настройками
10 ↓
11🎉 Постепенно становимся умнее!
🏗️ Занятие 3: Визуализировать специальные сети
CNN через “Детективную игру”:
1ИГРА "ДЕТЕКТИВ ИЗОБРАЖЕНИЙ":
2
3🕵️ ДЕТЕКТИВ УРОВЕНЬ 1 (Сверточный слой 1):
4Задача: Найти простые улики (линии, точки)
5Инструмент: Увеличительное стекло 3x3
6
7🕵️ ДЕТЕКТИВ УРОВЕНЬ 2 (Сверточный слой 2):
8Задача: Собрать улики в формы (глаза, рот)
9Инструмент: Складывает пазл из линий
10
11🕵️ ДЕТЕКТИВ УРОВЕНЬ 3 (Полносвязный слой):
12Задача: Сделать вывод "Это Маша!" или "Это не Маша!"
13Инструмент: Логика и опыт
14
15ФИЗИЧЕСКИЙ ЭКСПЕРИМЕНТ:
16- Берем фото класса
17- Дети ищут сначала линии, потом лица, потом узнают друзей
RNN через “Игру в прорицателя”:
1ИГРА "ПРОРОК ТЕМПЕРАТУРЫ":
2
3📊 ВХОДНЫЕ ДАННЫЕ: Температура последних 5 дней
418° → 19° → 20° → 21° → 22° → ???
5
6🧠 ПАМЯТЬ ПРОРОКА:
7День 1: "Кажется, теплеет" (запомнил тренд)
8День 2: "Да, точно теплеет!" (укрепил уверенность)
9День 3: "Теплеет по 1° в день" (вычислил закономерность)
10
11🔮 ПРЕДСКАЗАНИЕ: "Завтра будет 23°!"
12
13ФИЗИЧЕСКИЙ ЭКСПЕРИМЕНТ:
14- Дети по очереди получают числа
15- Каждый "запоминает" тренд
16- Последний делает предсказание
⚡ Занятие 4: Упростить этику
Суд над роботом:
1⚖️ СУДЕБНОЕ ЗАСЕДАНИЕ:
2
3ОБВИНЕНИЕ: "Робот несправедливо решил выключить обогрев!"
4ЗАЩИТА: "Робот экономил энергию!"
5СВИДЕТЕЛИ: Показания датчиков
6ПРИСЯЖНЫЕ: Весь класс
7
8ВОПРОСЫ ДЛЯ ОБСУЖДЕНИЯ:
9- Должен ли робот спрашивать разрешения?
10- Что если робот ошибется?
11- Кто отвечает за решения робота?
12- Как сделать робота справедливым ко всем?
13
14ВЕРДИКТ: Правила для этичного ИИ нашего класса
🎪 ДОПОЛНИТЕЛЬНЫЕ ИГРОВЫЕ МЕХАНИКИ
Система достижений:
1🏆 "Нейронный архитектор" - спроектировал свою сеть
2🧠 "Учитель роботов" - обучил нейросеть
3🔍 "Детектив ошибок" - нашел, почему сеть ошибается
4⚖️ "Защитник справедливости" - решил этическую дилемму
5🤖 "Создатель ИИ" - собрал полную систему
Физические материалы:
1📦 КОНСТРУКТОР НЕЙРОСЕТИ:
2- Кубики разных цветов = разные типы нейронов
3- Провода/нитки = связи между нейронами
4- Карточки = данные для обучения
5- Таблица результатов = отслеживание прогресса
6
7🎲 НАСТОЛЬНАЯ ИГРА "DEEP LEARNING":
8- Игровое поле = архитектура сети
9- Карточки данных = тренировочные примеры
10- Кубики = случайность обучения
11- Цель = достичь 90% точности первым
Практические эксперименты:
1🧪 ЛАБОРАТОРИЯ ИИ:
2
3ЭКСПЕРИМЕНТ 1: "Узнавание лиц"
4- Фотографируем всех детей
5- Тренируем сеть их узнавать
6- Тестируем на новых фото
7
8ЭКСПЕРИМЕНТ 2: "Предсказание погоды"
9- Собираем данные о температуре неделю
10- Обучаем сеть находить закономерности
11- Проверяем предсказания
12
13ЭКСПЕРИМЕНТ 3: "Детектор настроения"
14- Записываем голоса детей в разном настроении
15- Учим сеть распознавать эмоции по голосу
16- Тестируем в реальном времени
🎯 РЕЗУЛЬТАТ ДОПОЛНЕНИЙ
Спринт 20 теперь:
✅ Сохраняет глубину понимания
✅ Добавляет тактильный опыт
✅ Включает игровые механики
✅ Дает конкретные эксперименты
✅ Остается возрастно-адекватным
Дети получают и понимание концепций, и практический опыт! 🎪🤖
Спринт 20 завершен! 🧬
Дети понимают, как создавать системы, которые учатся думать!