Йа волосат и бородат!
С утра ваял нейросети, как это уже стало понятно из предыдущих постов.

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

Так же я поглядел на наработки Тимура (брата моего так зовут), взял его диссер. Вообще, мой братец - действительно заслужил звание "гордость кафедры" за то, что у него сделано. 2 новых метода, система автоматического подбора метода для решения со способностью самообучения, система для генерации заданий для раскроя, мощная САРП для создания карт раскроя с динамическим добавлением библиотек методов... Я проникся.

В целом - моя задача на сейчас: взять постановку задачи двумерного раскроя с 2 эвристиками, которые хорошо решают именно эту задачу. Один из следующих шагов - как раз та система автоматического выбора метода решения. Оджнако я не утерпел и заглянул в диссере в описалово. Система, конечно, работает, но - мягко говоря - не ахти. Как сказал Тимур - система придумывалась для "понтов" и делалась наобум и наспех.А вообще - он просто взял и склепал еще одну эвристику, которая решает все совсем по-тупому. :) Тимур отлично алгоритмизирует всякие переборы, но абстракция - это явно не его. :)

Еще узнал про всякие методы раскроя - какие бывают, какие ограничения бывают в реальных задачах. Иногда бывает маще маразм - например, экзотический станок, который по своей конструкции может сделать только 1 вертикальный и 3 горизонтальных разреза. Ппц, где только ТАКОЕ откапывают?



Завтра надо к первой паре... а потом будем ваять доклад на семинар в 4 часа... ппц - проведу в универе весь день.

17:25

Йа волосат и бородат!
Нейросеть написал, но тестить страшно - а вдруг упадет?

Да и я в своем коде запутался! А разбираться лень. =))))

09:45

Йа волосат и бородат!
Аська сдохла, хвост облез -

Вот вам и "Uncle Benz".

----------------



Наконец-то аська включилась!!!

11:49

Йа волосат и бородат!
Думаю, сегодня допишу куррсач по нейросетям )

22:09

Йа волосат и бородат!
На душе как-то грустно...



"Взрослеть - это понимать, что все, некогда кажущееся таким прекрасным, романтичным, может, немного волшебным - на самом деле пошло, банально и обыденно. Взрослеть - значит попрощаться с теми наивными детскими надеждами и местами, что жили когда-то в душе и выйти в пошлый, мерзкий реал." (с) ICQ



Сижу немного пришибленный и потягиваю мате, который я заварил довольно крепким... Из колонок тихонько поет Лоитума, песня "Kun Mun Kultani Tulisi" - как раз под настроение.

Йа волосат и бородат!
И погнал я вчера воодушевленный в славный наш УГАТУ насчет курсовой разговоры разговаривать.

Ну, во-первых, Попов (Ударение на вторую "о") меня опечалил тем, что описанные мной в постах ранее вещи уже реализованы в MatLab. Грустно, но - увы!. ОН предложил мне хитрую тему с нейросетями, где надо моделировать процесс обучения в игре. Мутно там что-то, не пойду, наверное.



Бажин не сказал ничего особо нужного, кроме того, что приедет на 9й неделе. Ппц, уже 7я... Полный ппц - времени вообще нет. :(



А потом я пошел к Орехову... и тут началось самое веселое. Юрий Василиевич был в своем репертуаре - стебался при первой возможности над всеми, включая коллег. =)) Впрочем, это же Юрий Василич! Он же не моежет не шутить.

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

В общем, работы - непочатый край.


13:01

Йа волосат и бородат!
Начал описывать классы и их функции. Хочу сделать побольше к завтра. :)

Блин... а курсач-то пока не выглядит сложным в написании. Ох, чует мое сердце, что с процессом обучения и распознаванием будут основные проблемы...

---------------



Начал ваять в визуальнике основные классы. С текущим делением, в перспективе, можно полчучить универсальный конструктор нейросетей из разных слоев. Вот только бы побольше времени, терпения и пряников. =))

---------------



Сделал перерыв, наконец-то почти правильно заварил мате. Сижу теперь, потягиваю. Даже понравилось - спасибо Кейтаро-сан.

Пересмотрел свою декомпозицию классов и понял, что, в принципе, всю эту бодягу можно развить весьма и весьма сильно - сделать среду со встроенным декларативным языком, в которой можно будет конструировать нейросеть из элементарных подсетей, а то и из нейронов, обучать и тестировать. А можно еще и библиотеку для С такую выпустить... и будет прога строить нейросеть и гонять ее, гонять... ых, мечты, мечты... Опять ведь останется только в разряде идей. :(

@музыка: KMFDM - Blackball

@настроение: Умиротворенно-вдохновленное

22:27 

Доступ к записи ограничен

Йа волосат и бородат!
Закрытая запись, не предназначенная для публичного просмотра

16:40

Йа волосат и бородат!
Решил-таки выложить мат. часть проектной документации. Кому-то, может, будет интересно, а кому-то может и пригодится.



Начало документации по курсовой



Сел за требования к программе, надо сделать к понедельнику, т.к. уже во вторник Бажин едет в командировку на 2 недели. Надо успеть подготовить и утвердить полную версию документации, чтобы потом спокойно сесть за реализацию.

13:07

Йа волосат и бородат!
Показал начало документации Бажину. Ему понравилось. Поговорили.

Надо делать базовый инструментарий, куда можно будет свтроить несколько вариантов как мер близости для слоя Хопфилда, так и несколько интерпретаторов для слоя Кохонена. Так же надо сделать возможность интерактивного изменения параметров разбиения.



Эх... невыспался и опоздал на пары - щас доем и лягу... Настроение - так себе.

19:54

Йа волосат и бородат!
Гадаю, как описать содержимое слоев Хопфилда и Кохонена. Ых.

12:20

Йа волосат и бородат!
Написал небольшой кусочек документации по курсовой. Все-таки я сторонник разработки "сверху вниз", а не наоборот. Т.е. сначала я всю документацию проработаю сначала, потом сяду пейсать. =) Нейросети мне нравятся, однако. И тем не менее, автор перцептрона был тем еще извращенцем. =))

Надо будет узнать у Орехова, что предполагает дипломная работа под его руководством.



Завтра понесу документацию к преподу... хочу получить его радостное "угу". =)



ЗЫ: Запросили гарантийник на принтер... похоже, я довольно скоро получу его обратно. =)

@музыка: David Arkenstone - Victory is Inevitable

@настроение: Замечательное, рабчее. Вдохновение.

09:05

Йа волосат и бородат!
Читаю книгу Тарасова по НС, раздел про сеть Хопфилда. Возщникла "небольшая" нестыковка - в этой сети присутствует функция энергии сети, однако, она определяется везде по-разному, хотя это - ключевой объект, который управляет работой всей сети. Я так понимаю, что этак функция должна выбираться исходя из задачи, но непонятно, какой именно вид мне нужен? Жду ответа Бажина ДН...



Что касается выбора сети... не помню, отмечал я эту особенность или нет, но одно из главных преимуществ сети Хопфилда - это возможность сети к восстановлению эталона из незашумленного образца. А это - огромное примущество в случае распознавания образов.

-------

Бажин ДН ответил

----------

Думал над структурой нужной мне сети - предполагается сделать двуслойную сеть: первый слой - слой Хопфилда, предназначен для приведения входного вектора к некоторому образцу, заданному в обучении, на выходе - вектор, близкий к эталону; второй слой - слой Кохонена, от которого требуется определить, на какой именно эталон похож преобразованный вектор и выдать номер этого вектора (по номеру задействованного нейрона).

На вход сети будет подаваться вектор, полученный путем разбиения исходного поля с графическим символом на некоторую карту с помощью задаваемой сетки. Одной из проблем является задание размерности ээтой сетки, т.к. она определяет количество нейронов в слое Хопфилда и при изменении размера сетки придется проводить переобучение всей сети. Да, компонентами векторов будут являться процентные отношения закрашенных пикселей к общему числу пикселей ячейки.

@музыка: Jarrid Mendelson - A plan of attack

@настроение: рабочее

08:10

Йа волосат и бородат!
Вчерашний "раж" еще не спал, так что настроение замуррчательное, вопросы назревают все больше и больше, так что м'сье Бажин попал. :))) Обещаю пытать милосердно. :)

00:15

Йа волосат и бородат!
Низкий поклон новому ПЧ - kv0!

20:19

Йа волосат и бородат!
Начал писать интерфейсину для курсача.

С выбором сети - до сих пор трудности.



Итак, есть такие варианты:

Многослойный перцептрон - каноническая сеть, работает с кучей задач, но имеет туеву хучу недостатков. К тому же, имхо, муторно реализовывать из-за неопределенности с количеством слоев и количеством нейронов в слоях (слои-то должны быть полносвязными!), а, тем более обучать.

Сеть Кохонена - предназначены для решения задач классификации. На вход сети подается вектор параметров классифицируемого обьекта. По видимому, будут хорошо работать в рамках моей задачи. Вообще алгоритм работы почему-то конкретно напоминает заевший меня в том семестре алгоритм ISODATA. Однако, в материале есть небольшая нестыковка - в начале сказано, что сеть способна сама определять количество классов, а потом - что нет. Но, если Кохоненова сеть действительно реализует возможность обучения без учителя (а ISODATA именно такой алгоритм), то мне эта сеть не подходит.

Сеть встречного распространения - отлично работает в случаях, когда требуется получить однозначное соответствие между двумя векторами, причем эта сеть способна распознавать на входе как образ, так и результат, подав на выходе соответствующие вектора. В общем, хорошо распознает эквивалентности. :)

Сеть с обатными связями (сеть Хопфилда) - работают по методу градиентного спуска. Работают в качестве ассоциативной памяти, где адресация производится не по номеру ячейки памяти, а по содержимому. Проблемой в реализации является поиск критерия похожести между векторами - выбор зависит от решаемой задачи и ищется индивидуально. Однако, как я помню из курса "Распознавание образов", метод градиентного спуска имеет огромный недостаток, т.к. в случае поиска экстремума функции нескольких переменных он может найти решение, а может и не найти его, причем будет ли этот метод сходиться для данной задачи зачастую можно сказать чисто эмпирически. А эмпирика - не есть хорошо. :( Так же довольно неприятной проблемой является отсутствие гарантии устойчивости сети, а так же наличие определенных ограничений на сходимость к эталонам. И тем не менее, весьма многообещающе...

АРТ-сети - имеют отличные характеристики - наличие устойчивого набора запомненных образов, возможность выбора вектора наиболее похожего к предъявляемому, динамическое запоминание новых образов без полного переобучения и отсутствие потерь уже запомненных образов при предъявлении новых. Однако, есть и серьозные минусы, такие как большая сложность реализации сети. Есть несколько разновидностей - АРТ-1, которая работает с бинарными векторами; АРТ-2, работающая с непрерывными векторами; FART, использующая нечеткую логику и ARTMAP, которая занимается классификацией входных и выходных векторов, а также строит связи между ними как сеть встречного распространения. Конечно, идеальный вариант, но один я с ней точно не справлюсь из-за чрезмерно большой сложности.



Теперь вот думаю, кого б взять?.. Пока что склоняюь к сети Хопфилда, но для окончательного решения нужно поговорить с кем-нить сведущим в данном вопросе...

@музыка: Jarrid Mendelson - House Ordos

@настроение: Thinking machine

Йа волосат и бородат!
Поставил свою фоту на обои...

Теперь смотрю и не верю, что это я.



А не верил сказкам Андерсена...

09:10

Йа волосат и бородат!
Ненавижу себя за свои слабости.

Йа волосат и бородат!
1. Все просто. В этом посте я пишу имена тех ПЧ, кто мне дорог, кого люблю, или же просто имена прикольных товарищей.

2. В том случае, если вы находите свое имя в этом списке, пишите такой же пост у себя в дневнике, но со своим списком ПЧ.

3. В том случае, если вы не находите свое имя, не обижайтесь и не расстраивайтесь. Это всего лишь значит, что мы мало общались, и я недостаточно хорошо вас знаю.

4. Порядок имен не имеет значения, не придавайте этому значения.



barabu, Clancy, donniedarko, Emeralddragon, irbis_ru, MeXaN1St, Mithxreel, Moreth, Naivnaya, nikole11, White Lightning, Асат, Кеман, Крафт, Солист Дио.

Йа волосат и бородат!
Мне выпал "звук". Интересно, почему именно оно?

Итак, 7 фактов про меня и о себе в порядке ассоциации и попадания в голову:



1. Для начала - музыка. Мне далеко не так важен текст, как сплетение музыки и голоса в одно сочетание... Смысловая нагрузка текста воспринимается далеко не сразу - раза так со второго, с третьего. Поэтому, присылаемые песни оцениваю не сразу.



2. Факт нумер два - это то, что далеко не вся музыка может быть воспринята. Слышать буду, но "не цепляет". Поэтому, наверное, к некоторым исполнителям я питаю просто уважение, но слушать их не буду - не заставите. :)



3. Если музыка еще и воспринимается... (это когда я начинаю непроизвольно муррчать что-то себе под нос :)) то все - настроение и состояние довольно легко подстраивается под ритм и саму мелодию. (Эх, свое слабое место раскрываю :)) Кое-кто знает об этом и активно пользуется, иногда просто включая подходящую музыку. :) А я уже и сделать почти ничего не могу! :))))



4. Так же звук очень важен при общении. Вот сколько ни пытался определить, кто я - аудиал или кинестетик, тактолком и не могу. Когда как, но чаще всего на первом месте - осязание. Так что - кинестетик. А уж потом - звук. И в конце - зрительный образ. Так вот, к чему это я - во время общения я слежу за тембром голоса собеседника, его звучанием так же, как и за своим. Странно, почему народ так редко обращает внимание на интонации в голосе? А по ним ооочень часто можно судить как о настроении, так и о состоянии говорившего.



5. Как упоминалось ранее - слежу за интонациями своей речи, соответственно и выражаю свое настроение/состояние именно интонациями (ну, кроме мимики). Особо примечательны телефонные разговоры, когда народ сразу понимает, что меня лучше не трогать или наоборот, все превосходно. :)



6. Не выношу тишины. Мне обязательно нужен звук, музыка на фоновом режиме. Тишина давит, стягивает пространство, возникает ощущение пустоты, вакуума. Бррр! До сих пор радуюсь своему плээру, без которого стараюсь не выходить. :) А еще тихо схожу с ума в поездах и с дрожью вспоминаю полет в Новосиб (АН-24, СТРАЩНО дребезжал!!!).



7. Да, по рассказам родителей, когда я был совсем дитем (лет 6-8), то при большой температуре ловил по ночам аудиоглюки. :))) Думаю, было весело.

---------------------------------------------



Теперь прошу всех страждущих откомментиться и получить от меня словесо для продолжения рода флэшмоба.