Курс "Введение в нейронные сети и генетические алгоритмы"

gala05

Факультативный курс "Введение в нейронные сети и генетические алгоритмы"
Курс подготовлен сотрудниками НИИЯФ МГУ под руководством проф.
И.Г.Персианцева
• Курс рассчитан на студентов 3 – 5 курсов
• Продолжительность курса - 14 лекций, 11 семинаров
(1 лекция и 1 практическое занятие в неделю в течение семестра)
• Чтение курса начнется 25 февраля
• Время проведения лекций и занятий - вечернее (после 5-й пары, с 19-00)
по вторникам (лекции) и пятницам (практические занятия)
• Для участия необходимо сообщить свои координаты, зарегистрировавшись
на сайте (http://NNGA.narod.ru) или по тел. 939-46-19. Место проведения
занятий (на территории МГУ) будет сообщено записавшимся дополнительно.
Программа лекций
Часть 1. Основные модели ИНС (3 лекции)
Модель нейрона. Обучение с учителем и без учителя. Многослойный
персептрон. Рекуррентные сети. Ассоциативная память. Сеть Кохонена.
Нейросеть с общей регрессией. Вероятностная нейросеть.
Часть 2. Основы предобработки данных (3 лекции)
Методы анализа данных, направленные на определение и уменьшение
размерности задачи (анализ главных компонент, кластер-анализ,
фрактальная размерность и пр.). Методы нелинейного преобразования
входных данных, способствующие выделению отличительных свойств
(вейвлет-анализ, нелинейный анализ главных компонент).
Часть 3. Метод группового учета аргументов, генетические алгоритмы (3
лекции)
Метод группового учета аргументов. Генетические алгоритмы. Генетическое
программирование.
Часть 4. Дополнительные алгоритмы ИНС (2 лекции)
Нейронные сети Хопфилда. Алгоритмы построения ИНС оптимальной сложности.
Методики комбинирования различных моделей ИНС. Иерархические системы.
Экспертные советы. Гибридные методы. Генерация правил по обученным ИНС.
Анализ важности входов.
Часть 5. Нечеткая логика (1 лекция)
Часть 6. Применение ИНС и ГА (2 лекции)
Основные области применимости ИНС и ГА. Практические приемы
использования ИНС и ГА в спектроскопии, физике высоких энергий,
микроэлектронике, физике плазмы, обработке сигналов и изображений.
Решение обратных задач в физике с помощью ИНС и ГА.
План практических занятий
Часть 1. Основные модели ИНС (3 занятия)
Наглядная демонстрация основных нейросетевых алгоритмов. "Нейропрактикум".
Часть 2. Практическая работа с ИНС (4 занятия)
Нейросетевой пакет NeuroShell 2. Основные приемы работы. Решение
практических задач.
Часть 3. Генетические алгоритмы (1 занятие)
Пакет генетических алгоритмов GeneHunter. Решение практических задач.
Часть 4. Нейросетевые пакеты NeuroShell Series (1 занятие)
Пакеты NeuroShell Predictor и NeuroShell Classifier. Основные приемы работы.
Часть 5. Самостоятельная работа под руководством преподавателя (2 занятия)

stm7518204

Я в прошлом году ходил!
Это вообще один из лучших спецкурсов, которые есть в МГУ! И тема супер и препод вообще СУПЕР!
Вообще всем рекомендую!

medmikhr

плюсую предыдущего оратора

ssv6010

запишите на видео плиз
камеру могу дать :D :)

ozura

Про использование в трейдинге будет что-нибудь ?

gala05

Про использование в трейдинге будет что-нибудь ?
общие слова по поводу того, как какой из алгоритмов можно было бы использовать

3deus

Факультативный курс "Введение в нейронные сети и генетические алгоритмы"
Слышал, что сейчас машинное обучение, опирающееся математическую статистику, является более новым, продвинутым и мощным направлением в сфере искусственного интеллекта, чем нейронные сети. Вроде бы на западе во всю развивают математическую статистику и машинное обучение, а у нас все еще в основном занимаются нейронными сетями. Так ли это ?
 

3deus

Так ли это ?
Вот, нашел в инете личное мнение одного человека на эту тему.
================================
http://cgm.computergraphics.ru/content/view/166
Нейронные сети. Мифы и реальность.
Февраль 5, 2007 - 01:54 — Александр Вежневец
Впервые термин нейронные сети я услышал на втором курсе моего обучения на факультете ВМиК МГУ. С момента моего первого знакомства с этим феноменом прошло уже четыре года и моё понимание этого, для многих почти магического, термина теперь заставляет меня улыбаться каждый раз, когда я вижу какие-либо статьи на эту тему в научно-популярной прессе. В этой заметке я постараюсь коротко изложить свою историю знакомства с ними и параллельно объяснить что же это такое нейронные сети, с чем их едят и как к ним относиться.
Первое знакомство
Сейчас трудно вспомнить, но кажется впервые слова нейронная сеть я услышал от одного из знакомых аспирантов. Я не помню что именно он мне о них рассказал, но я хорошо помню мысль осевшую в памяти после разговора - нейронные сети, это такие "программы" которые могут обучаться. Я не слишком чётко представлял ни как, ни чему, ни зачем собственно эти сети умеют обучаться, но сама идея меня сильно впечатлила. Первое же что пришло в голову - можно сделать программу обучающуюся играть в крестики нолики. Собственно, это был мой первый "проект" которому так и не суждено было осуществиться. С интернетом в те времена было не просто, но я таки смог достать распечатки лекций Сергея Терехова "по теории и приложениям нейронных сетей" [1]. Вчитываясь в лекции я искал в них ответ на вопрос "как и чему может обучиться машина?". Лекции, надо отдать дань автору, были написаны простым и понятным языком и проглотил я их содержание за несколько вечеров. Первое, что отложилось у меня в голове, это то, что нейронные сети являются некоторыми моделями алгоритма, способными с помощью некоторой методики обучения (то же алгоритма) "учиться" выполнению некоторой задачи. Задача, чтобы её решению можно было обучать нейронную сеть, должна представляется переводом одного вектора чисел в другой. Фактически, на том уровне понимания, мне казалось что нейронная сеть может позволить решить задачу отображения одних векторов чисел в другие, если настоящий, точный алгоритм неизвестен, но можно составить некоторый набор правильных примеров работы - пар вход-выход, обучающую выборку. Если и не всё, то уж точно большую часть в нашем мире можно так или иначе представить в виде чисел (долгожданный цифровой век наверное наступил уже тогда). Поэтому возможности нейронных сетей мне казались безграничными. Мне казалось, что скоро машины смогут обучаться решать любые задачи! Достаточно описать всё в виде преобразования векторов чисел и дело в шляпе. Не нужно часами сидеть и придумывать сложнейший точный алгоритм, которого может ещё и не существует - бери нейронную сеть побольше и задача решена.
Первое плавание
Где-то через пол года я начал выполнять учебно-исследовательские задачки на кафедре, куда хотел распределиться. Я взял себе задачу где требовалось распознать звучит ли в некотором небольшом сегменте звукового файла музыка или речь. То что я бы сейчас назвал задачей составления вектора признаков было уже решено до меня коллегой аспирантом и мне всего лишь требовалось запрограммировать какую-нибудь нейронную сеть. Задачку я кое-как решил, за что был награждён 5+ за курс, но в моём понимании нейронных сетей произошло серьёзное изменение. Теперь я понял, что главным свойством нейронных сетей является возможность обобщить информацию из ограниченной обучающей выборки на общую, вообще говоря, бесконечную совокупность всех возможных данных. В тот момент начали приходить неожиданные ранее вопросы: "а чем же это отличается от простой интерполяции/аппроксимации?", "как адекватно померить насколько хорошо нейронная сеть обобщает?", "как именно происходит это обобщение и отчего зависит то насколько качественно оно производиться?". Как ни странно, готовых ответов в доступной форме именно в литературе про сами нейронные сети я найти не мог. В итоге, я составил большой обзор изученных мной различных видов нейронных сетей, который вы можете найти изложенным в двух статьях в нашем журнале [2][3]. Период великих надежд прошёл, сменился на период замешательства, который сменился разочарованием. Из всей литературы стало ясно одно - всю магию нейронных сетей можно изложить на одной странице математического текста с парой теорем понятных второкурснику. Нейронная сеть - это просто модель для аппроксимации функции по замерам с помощью сигмоид (функций особого вида). Обучение (тот самый знаменитый алгоритм обратного распространения back propagation) - всего лишь метод минимизации ошибки системы на тренировочной выборке. Никакой магии обучения или её объяснения. Фактически, тот факт что нейронная сеть как-то разумно работает вне обучающей выборки не объяснялся никоим образом.
Магия обучения
Но неужели, думал я, вся тайна обучения машин на этом и кончается? Мне хотелось увидеть строгую науку, дающую ответы на мои вопросы про возможность обучения алгоритмов, или, говоря вернее, машин. То, что нам читали на лекциях искусственному интеллекту ничуть не пролило света на эти вопросы. Курс был смесью классической кибернетики и простейшей теории игр (автоматы, грамматики, деревья решений). В то время на кафедре я в основном занимался задачами обработки изображений и поэтому перестал уделять этой теме много внимания, хотя и не потерял интерес к ней. Поворотным был момент, когда передо мной встала конкретная прикладная задача обнаружения некоторых предопределённых объектов на изображениях. Когда кто-либо говорил про практическое применение нейронных сетей то всегда приводил в пример именно распознавание объектов на изображениях. Собрав солидную подборку литературы я обнаружил, что самым передовым является подход основанный отнюдь не на нейронных сетях, а на доселе мне неведомом методе усиления слабых классификаторов [4]. Начав разбираться в нём я обнаружил что существует целая наука (совершенно не привязанная к нейронным сетям и даже не придающая им особого значения) занимающаяся обучением и, как ни странно, так и называющейся: Machine Learning - машинное обучение.
Взрослая наука Machine Learning
Как выяснилось, ответы есть. И теории есть. И наука ого-го как не стоит в этом плане на месте. Математический аппарат в этой области широк - в основном теория вероятностей и математическая статистика. Уже успели сформироваться целые научные школы и классические направления. Кстати, один из отцов основателей - Владимир Вапник, русский учёный в советские времена уехавший в Англию. Его основное достижение - получение теоретической оценки обобщающей способности (вероятности ошибки на всей совокупности данных) через ошибку на тренировочной выборке и сложности классификатора (размерности Вапника-Червоненкиса). Основные конференции области - ICML, COLT и NIPS (единственная, в которой в название есть слово neural). Кстати, на последнем ICML 2006 была представлена статья, где экспериментально было проведено сравнение методов обучения с учителем (supervised learning и нейронные сети даже не попали в тройку лидеров. Вот так то. После достаточно подробного изучения данный области мой понимание феномена нейронные сети стало до безобразия простым и даже в чем-то скучным. Этого всего лишь ещё один метод, притом не самый удачный, и не более того. Да, это даже не теория и не взгляд на проблему. Когда я читал материалы к зарубежным курсам по машинному обучению, то заметил что в большинстве случаев нейронные сети фигурируют там в качестве примера примитивных методов на которых очень удобно демонстрировать различные проблемы обучения (нейронные сети "больны" почти всеми возможными болезнями обучающихся систем).
Кто виноват?
Но почему же, спрашиваю я себя, почему большая часть российских людей занимающихся распознаванием образов знают только о нейронных сетях и о большем и слышать не хотят? Попробуем докопаться до правды. Любая научная или научно-инженерная область это не просто набор определений и теорем, а главным образом сообщество людей, занимающихся этой областью. Это культура, в прямом смысле этого слова. Что же такое нейросетевая культура в России? Мой мнение - это что-то вроде секты. Она заманивает магическим названием, околдовывает тайнами, завораживает обещаниями, а потом каким-то непонятным образом связывает по рукам и ногам. Все люди, которые активно увлекались нейронными сетями и с которыми мне довелось общаться очень агрессивно реагируют на все заявления о том, что наука уже ушла вперёд и им нужно расширить свой кругозор. На форумах на вопрос, почему никто не пробует работать современными методами, основанными на математической статистике, можно вообще получить "сногсшибательный ответ" вроде: "Математическая статистика (мат. статистика) разработана главным образом для анализа одной переменной". Нейросетевая культура замкнулась в себе и не хочет смотреть вокруг, видимо опасаясь своей несостоятельности. К тому же, отсутствие каких-либо приличных ресурсов по машинному обучению на Русском языке в интернете только усугубляет ситуацию.
Что делать?
Чтобы такая ситуация изменилась, должна либо измениться текущая культура, либо появиться новая. Нужно сообщество людей открытых к новым идеям и готовым догонять и перегонять мировой уровень. Обязательно нужны образовательные и научно популярные интернет ресурсы, которые будут популяризировать современный подход к распознаванию образов и машинному обучению. Нужны журналы, конференции, форумы и прочее, прочее, прочее. Но главное нужны люди. Будем надеяться, что рано или поздно эта новая культура всё-таки появиться. И надеюсь что эта заметка внесёт своё лепту, пусть хоть и малую, в процесс её формирования.
================================

medmikhr


Слышал, что сейчас машинное обучение, опирающееся математическую статистику, является более новым, продвинутым и мощным направлением в сфере искусственного интеллекта, чем нейронные сети. Вроде бы на западе во всю развивают математическую статистику и машинное обучение, а у нас все еще в основном занимаются нейронными сетями. Так ли это ?
Вопщем-то есть склонность переоценвать нейросетевые методы, присваивая им магические свойства. На деле это просто забавная формализация ряда методов матстатистики и оптимизации. Например, архитектуры типа MLP и RBF подводятся под теоретическую базу SVM.

3deus

Вопщем-то есть склонность переоценвать нейросетевые методы, присваивая им магические свойства. На деле это просто забавная формализация ряда методов матстатистики и оптимизации.
Похоже, что так. Благодарю Вас за ответ ! :)

ereyzer

Это вообще один из лучших спецкурсов, которые есть в МГУ! И тема супер и препод вообще СУПЕР!
Вообще всем рекомендую!
Полностью согласен - я этот спецкурс 2 раза слушал и с тех пор постоянно эти методы использую.

gala05

Совершенно очевидно, что это мнение человека не в теме. Автор не отдает (не отдавал) себе отчета в том, что нейронные сети - это инструмент, который нужен для определенных целей и с которым определенным образом работают, что говорит об авторе не в его пользу.
Комментарии, без наездов
1.
Период великих надежд прошёл, сменился на период замешательства, который сменился разочарованием. Из всей литературы стало ясно одно - всю магию нейронных сетей можно изложить на одной странице математического текста с парой теорем понятных второкурснику.
Высказывание аналогично чему-нибудь в стиле "как на фондовом рынке играть и ежу понятно".
Основной прикол заключается в том, не как устроен инструмент, а как его правильно применить, что хорошо известно любому, например, физику-экспериментатору. В случае нейронных сетей, когда нужно решать практические задачи, а не теоретизировать, парой страниц не обойдешься. Фактически, товарищ рассказывает свою сентиментальную историю о том, как ОН ботал нейронные сети.
2.
Кстати, один из отцов основателей - Владимир Вапник, русский учёный в советские времена уехавший в Англию. Его основное достижение - получение теоретической оценки обобщающей способности (вероятности ошибки на всей совокупности данных) через ошибку на тренировочной выборке и сложности классификатора (размерности Вапника-Червоненкиса).
Очевидно, товарищ решил выпендриться, какой он умный.
3.
Кстати, на последнем ICML 2006 была представлена статья, где экспериментально было проведено сравнение методов обучения с учителем (supervised learning и нейронные сети даже не попали в тройку лидеров. Вот так то.
Какие были данные, какая размерность? Какая задача? Сравнение по каким критериям - временные затраты, вычислительные затраты, необходимая память? Насколько нейронные сети хуже - на 0.01%? И потом он, знающий всю Правду, назидательно добавляет "Вот так то" 8D

4.
Собрав солидную подборку литературы я обнаружил, что самым передовым является подход основанный отнюдь не на нейронных сетях, а на доселе мне неведомом методе усиления слабых классификаторов [4].
Усиление слабых классификаторов (т.н. boosting) - это не один метод, а целое направление исследований. Грубо говоря, это когда на множество слабых (т.е. "угадывающих" с вероятностью 50% + эпсилон-малое) классификаторов вешается еще один алгоритм, который на основании мнений всех классификаторов (экспертов) принимает решение, типа как начальник на основании мнений всех его недалеких заместителей. В таком ключе, фраза выглядит смешно, сравнил белое и соленое.
5.
Это культура, в прямом смысле этого слова. Что же такое нейросетевая культура в России? Мой мнение - это что-то вроде секты. Она заманивает магическим названием, околдовывает тайнами, завораживает обещаниями, а потом каким-то непонятным образом связывает по рукам и ногам. ... Нейросетевая культура замкнулась в себе и не хочет смотреть вокруг, видимо опасаясь своей несостоятельности.
Это частая проблема любой специализирующейся на чем-либо научной группы. Те, кто занимается какой-нибудь регуляризацией по Тихонову, извиняюсь, истово др#чат на Тихонова и плюются от "конкурентных" методов, уча тому же студентов (массовое поклонение я лично наблюдал). Видимо, автору не повезло с коллегами.
6.
Все люди, которые активно увлекались нейронными сетями и с которыми мне довелось общаться очень агрессивно реагируют на все заявления о том, что наука уже ушла вперёд и им нужно расширить свой кругозор.
На форумах на вопрос, почему никто не пробует работать современными методами, основанными на математической статистике,
Не приведено, куда же это ушла наука, чем же она сейчас пользуется, какие-такие современные методы мат. статистики. Безусловно, автору не повезло с коллегами.
7.
К тому же, отсутствие каких-либо приличных ресурсов по машинному обучению на Русском языке в интернете только усугубляет ситуацию.
www.machinelearning.ru
Москва не сразу строилась.
8.
Нужны журналы, конференции, форумы и прочее, прочее, прочее. Но главное нужны люди.
По своему опыту бывания на конференциях я сделал для себя определенный вывод - с нейронными сетями в россии проблема потому, что они более-менее появились в стране после развала СССР. И если за 20 лет нет серьезных государственных задач, для решения которых привлекались бы нейронные сети (в отличие от европы и сша значит наша наука мертва, так как она не способна усваивать что-то новое, несоветское. Есть отдельные конференции (Нейроинформатика в МИФИ, скажем люди, даже школы. Но по результатам следует судить исключительно по решенным общегосударственным сверхмасштабным задачам, а не по числу написанных статей.

3deus

Спасибо Вам за комментарий ! :)
Будем стараться на основе разных точек зрения сформировать у себя более взвешенное и полное представление о значимости как нейронных сетей, так и машинного обучения (на основе математической статистики).

aszxdfcv

на основе разных точек зрения
Может быть, стоит знакомиться не с точками зрения на предмет, а прямо с предметом и формировать свою точку зрения?
Оставить комментарий
Имя или ник:
Комментарий: