- •Нейрокомпьютинг
- •Как мозг обрабатывает информацию Из чего построен мозг
- •Структура и функции мозга
- •Восприятие
- •Мышление
- •Мозг, компьютеры и нейрокомпьютеры Право-лево-полушарный симбиоз
- •Встречная эволюция мозга и компьютеров
- •Эволюция компьютеров: от вычислений - к распознаванию образов Первые компьютеры: супер-калькуляторы
- •От вычислений - к обработке символов
- •От символов - к образам
- •Символы и образы, алгоритмы и обучение Трудности современной схемотехники
- •Специфика образной информации
- •Нейрокомпьютеры
- •Вездесущие умные нейрочипы
- •Операционные системы будущего
- •Современные нейрокомпьютеры Элементная база нейрокомпьютеров
- •Сравнение стоимости обычных и нейро-вычислений
- •Преимущества нейро-эмуляторов
- •Готовые нейро-пакеты
- •Инструменты разработки нейроприложений
- •Готовые решения на основе нейросетей
- •Нейросетевой консалтинг
- •Рынок нейропродукции
- •Какие задачи решают нейросети
- •Где применяются нейросети
- •Парадигмы нейрокомпьютинга Что такое парадигмы
- •Коннекционизм
- •Локальность и параллелизм вычислений
- •Программирование: обучение, основанное на данных
- •Универсальность обучающих алгоритмов
- •Классификация базовых нейроархитектур Типы обучения нейросети
- •Архитектура связей
- •Классификация по типу связей и типу обучения (Encoding-Decoding)
- •Нейрон - классификатор
- •Выбор функции активации
- •Двухслойные персептроны
- •Персептрон Розенблатта
- •Байесовский подход
- •Принцип максимального правдоподобия (maximum likelihood)
- •Принцип минимальной длины описания (minimum description length)
- •Градиентное обучение
- •Метод обратного распространения ошибки
- •Эффективность алгоритма back-propagation
- •Использование алгоритма back-propagation
- •Вычислительная сложность обучения
- •Ошибка аппроксимации
- •Переобучение
- •Ошибка, связанная со сложностью модели
- •Оптимизация размера сети
- •Валидация обучения
- •Ранняя остановка обучения
- •Прореживание связей
- •Конструктивные алгоритмы
- •Постановка задачи
- •Правило обучения Хебба
- •Правило обучения Ойа
- •Постановка задачи
- •Необходимость взаимодействия нейронов
- •Самообучающийся слой
- •Сравнение с традиционным статистическим анализом
- •Нелинейный анализ главных компонент Целевая функция
- •Автоассоциативные сети
- •Предикторы
- •Латеральные связи
- •Победитель забирает все
- •Алгоритм обучения соревновательного слоя нейронов
- •Кластеризация и квантование
- •Оценка вычислительной сложности обучения
- •Победитель забирает не все
- •Алгоритм Кохонена
- •Аппроксиматоры с локальным базисом
- •Гибридное обучение
- •Симметричность связей
- •Асинхронная динамика
- •Метрика пространства состоянний
- •Энергия состояния
- •Ассоциативная память
- •Обучение сети. Правило Хебба
- •Выделение сигнала из шума
- •Минимальный базис
- •Пример: поиск промоторов в днк
- •Активная кластеризация
- •Анализ голосований
- •Генетические алгоритмы
- •Метод муравьиных колоний
- •Максимизация энтропии как цель предобработки
- •Типы нечисловых переменных
- •Кодирование ординальных переменных
- •Кодирование категориальных переменных
- •Отличие между входными и выходными переменными
- •Индивидуальная нормировка данных
- •Совместная нормировка: выбеливание входов
- •Понижение размерности входов методом главных компонент
- •Восстановление пропущенных компонент данных
- •Понижение размерности входов с помощью нейросетей
- •Квантование входов
- •Линейная значимость входов
- •Нелинейная значимость входов. Box-counting алгоритмы
- •Формирование оптимального пространства признаков
- •Последовательное добавление наиболее значимых входов
- •Формирование признакого пространства методом ортогонализации
- •Кому нужно предсказывать рынок?
- •Можно ли предсказывать рынок?
- •Технический анализ и нейронные сети
- •Метод погружения. Теорема Такенса
- •Эмпирические свидетельства предсказуемости финансовых рядов
- •Формирование входного пространства признаков
- •Выбор функционала ошибки
- •Обучение нейросетей
- •Способы погружения временного ряда
- •Понижение размерности входов: признаки
- •Метод искусственных примеров (hints)
- •Связь предсказуемости с нормой прибыли
- •Выбор функционала ошибки
- •Обучение нейронной сети
- •Прореживание нейронной сети
- •Извлечение правил
- •Исправление данных
- •Рейтинг корпоративных облигаций
- •Оценка акций
- •Исторические корни
- •Нейросетевое предсказание банкротств
- •Обсуждение
- •Постановка задачи
- •Данные о российских банках
- •Сечения
- •Линейное сжатие информации - метод главных компонент
- •Нелинейное сжатие информации - карты Кохонена
- •Расположение на карте банков с отозванной лицензией
- •Раскраски карты Кохонена
- •Карта размеров банков
- •Балансовые показатели
- •Обсуждение
- •Являются ли нейронные сети языком описания?
- •В чем различие нейронных сетей и статистики?
- •Что лучше, статистические методы или нейронные сети?
- •Почему статистики ревнуют специалистов по нейронным сетям, а не наоборот?
- •Перекрестное опыление.
- •Практические выводы
- •Сети интервальных нейронов
- •Элементы нечеткой логики
- •Нечеткие нейроны
- •Извлечение правил if-then
- •Адаптация функций принадлежности
- •Стохастические нейроны
- •Приближение среднего поля
- •Фазовые переходы
- •Сеть Хопфилда с Хеббовскими связями
Встречная эволюция мозга и компьютеров
Итак, мы описали особенности двух парадигм обработки информации - "логической" и "образной". Первая доминирует в существующих компьютерах, вторая - лежит в основе работы мозга, хотя человеческий мозг отличает от мозга прочих животных наличие обоих компонент мышления. Для полноценного существования в окружающем нас мире ценны оба способа обработки информации. И они рано или поздно возникают - как в ходе биологической эволюции, так и в процессе эволюции компьютеров, но, что характерно, - в разной последовательности. Биологическая эволюция шла "от образов - к логике". (Вспомним три слоя мозга: древнейший - ориентация в пространстве, более новый - эмоции, и новейшая кора - речь и логика). Компьютеры же, напротив, начав с логики, лишь спустя несколько десятилетий начинают осваивать распознавание образов.
Откуда такое различие в направлениях развития? Что касается развития Жизни - понятно. На ранних этапах эволюции требовалось лишь правильно реагировать на внешние воздействия. Задача понимания законов действительности, их формализации для передачи из поколения в поколение возникла лишь с появлением социальных животных и языка. Мыслить логически - роскошь, доступная лишь тем, кто сумел выжить в миллиардолетней борьбе за существование. А компьютеры? Почему они не пошли по тому же пути? Почему мы узнаем о существовании нейрокомпьютеров на пятом десятке лет компьютерной гонки? Для ответа на этот вопрос, ключевой для понимания перспектив нейрокомпьютинга, необходимо бросить хотя бы беглый взгляд на историю развития компьютеров.
Эволюция компьютеров: от вычислений - к распознаванию образов Первые компьютеры: супер-калькуляторы
Технические предпосылки создания компьютеров накапливались постепенно. Механические калькуляторы существовали еще со времен Паскаля. Теория универсального компьютера была разработана англичанином Аланом Тьюрингом в 30-х годах. А новую элементную базу (лампы) подготовило широкое распространение радиотехники. Требовался лишь толчок со стороны практики, должна была возникнуть задача, которую было бы невозможно решить без ЭВМ. Такую задачу предоставила Вторая Мировая Война. Для военных нужд потребовался супер-калькулятор. Сначала это были задачи рассчета баллистических траекторий и составления баллистических таблиц корректировки стрельбы. Затем появился новый класс задач, связанных с созданием атомного оружия, и с тех пор военные неизменно выступали как основные заказчики супер-вычислителей.
Одной из главных задач Лаборатории баллистических исследований министерства обороны США был расчет баллистических траекторий и составление корректировочных таблиц. Каждая такая таблица содержала более 2000 траекторий, и лаборатория не справлялась с объемом вычислений, несмотря на свой раздувшийся штат: около ста квалифицированных математиков, усиленных несколькими сотнями подсобных вычислителей, окончивших 3-х месячные подготовительные курсы. Под давлением этих обстоятельств в 1943г. армия заключила с расположенным неподалеку Высшим техническим училищем Пенсильванского университета, где в помощь лаборатории был создан специальный вычислительный центр, контракт на $400 тысяч для создания первого электронного компьютера ENIAC. Руководили проектом Джон Мочли и Прес Экерт (последнему в день подписания контракта исполнилось 24 года). ENIAC был построен уже после окончания войны. Он потреблял 130 кВт, содержал 18 000 ламп, работающих с тактовой частотой 100 кГц, и мог производить 300 операций умножения в секунду.
Таким образом, в момент своего появления компьютеры занимались исключительно вычислениями, что и отразилось в их названии. Вычисления по заранее разработанному алгоритму требовали одного: очень много раз повторять однотипную череду операций. На решение таких - алгоритмических - задач и были нацелены ЭВМ 40-х и 50-х годов.
Последовательная архитектура первых ЭВМ была продиктована их чрезвычайной дороговизной. Это позволяло обойтись минимумом аппаратуры, минимизировать издержки вычислений. Машинные ресурсы всячески экономились, и всю заботу о составлении алгоритмов и переводе их в машинные коды брали на себя люди.
К моменту появления первых ЭВМ война уже кончилась, но потребность в вычислениях осталась. Правда, в 50-х годы приобрести ЭВМ могли себе позволить лишь крупные научные центры и государственные учреждения. В 60-х, после появления серийных ЭВМ, центральный компьютер появился и в коммерческих фирмах.
