LINUX.ORG.RU

[2011] Нейронные сети. Разработка.


1

1

Итак, всем добрый вечер/день/ночь в зависимости от часового пояса. Утро не упоминаю, оно добрым не бывает.

Я снова материализуюсь на ЛОРе. А это означает что мне либо нужен совет, либо мне делать нечего. В данном случае первое. Сегодня я побывал в другом университете, куда меня звали как помощника в разработке компьютерных моделей. Вникнув в суть дела я согласился и взял задание «на дом»: разработать нейронную сеть и обучить её.

Исходные данные: Входные/выходные векторы.

Дедлайн: 6 месяцев, но хочу закончить прототип до 7-го января. Пусть будет работать с треском, но должен.

Собственно гуглил материал, но попадаются в основном статьи, в которых описывается «высокое будущее» нейронных сетей. Статьи старее, чем 2000 вообще говорят, что это сказки хакеров. Более новые - в основном перепечатка старых.

Чего хочу: ссылок на хорошую теорию, уравнения правки связей, схемы и проч.

Перемещено svu из Talks

НЕ переносите в Development

Напрасно.

Manhunt ★★★★★ ()

> Пожалуйста, НЕ переносите в Development > во-первых там мало людей

Когда нужно к зубному, ты идёшь к столяру?

> во-вторых эта тема как бы и для будущих потомков пригодится.

Как талкс относится к этому?

Rzhepish ()

Модераторам: Пожалуйста, НЕ переносите в Development - во-первых там мало людей, во-вторых эта тема как бы и для будущих потомков пригодится.

Это в чистом виде Development, людей там не меньше - трекер для всех один.

По теме: Если надо что-нибудь простенькое, «на пощупать», то попробуйте нейронку Хебба. Если что посерьёзнее планируется, типа распознавания или корректировки образов, то нейронку Хопфилда.

А вообще, погуглите по «Брестский политехнический университет нейронная сеть», там кафедра нейронок есть. Может, будут в свободном доступе статьи, методички или книги...

Slavaz ★★★★★ ()
Ответ на: комментарий от Slavaz

По теме: Если надо что-нибудь простенькое, «на пощупать», то попробуйте нейронку Хебба. Если что посерьёзнее планируется, типа распознавания или корректировки образов, то нейронку Хопфилда.

Ни распознавание ни «на пощупать» - те входные и выходные векторы - оценка серьезности повреждений стальных балок.

AlexCones ★★★ ()

Саймон Хайкин, «Нейронные сети». Толщина книги такая, что думаю можно кого-то убить.

Попроще, кажется были книги Уоссермена

vertexua ★★★★★ ()
Ответ на: комментарий от vertexua

Попроще

:)

Субьективно по сложности восприятия Уоссермен и Хайкин сравнимы с учебником математики для начальных классов и курсом Фихтенгольца

yoghurt ★★★★★ ()
Ответ на: комментарий от AlexCones

те входные и выходные векторы - оценка серьезности повреждений стальных балок.

На чем зыждится надежда обучить этому нейронную сеть? На святой вере в черную магию?

Manhunt ★★★★★ ()
Ответ на: комментарий от Rzhepish

> во-вторых эта тема как бы и для будущих потомков пригодится.

Как талкс относится к этому?

А как же вопрос не нужности моделирования нейросетей на обычных компьютерах?

AlexVR ★★★★★ ()
Ответ на: комментарий от yoghurt

Backprop реализуется за вечеро

подтверждаю. а по artificial neural network гуглится достаточно много материала

jtootf ★★★★★ ()

Открываешь матлаб и делаешь man newff

kranky ★★★★★ ()
Ответ на: комментарий от XVilka

возьмите готовую библиотеку

Не пойдет.

1. Они и так сейчас используют готовую на питоне.
2. Надобно переписать, чтобы на её основе курсовую/дипломную/диссер защатить можно было.

AlexCones ★★★ ()
Ответ на: комментарий от note173

У нас там идет целый конвейер расчетов - снятие показаний с модели частиц -> обработка -> база -> преобразователь -> нейросеть -> преобразователь -> Выход.

AlexCones ★★★ ()
Ответ на: комментарий от note173

Вот я таки и ищу нормальную документацию по алгоритмам и реализации, поскольку используется какой-то blob на питоне.

AlexCones ★★★ ()
Ответ на: комментарий от Slavaz

Это в чистом виде Development, людей там не меньше - трекер для всех один.

Тут нацпол наваристей.

r_asian ★☆☆ ()
Ответ на: комментарий от AlexCones

Вот я таки и ищу нормальную документацию по алгоритмам и реализации, поскольку используется какой-то blob на питоне.

Набросай сам на похапе. Для многослойного персептрона и алгоритма обучения методом обратного распространения ошибки - там делать нечего

r_asian ★☆☆ ()
Ответ на: комментарий от AlexCones

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

note173 ★★★★★ ()
Ответ на: комментарий от Slavaz

Нах нужен трекер? Двач же какой-то получается: читаешь то, что апают

stevejobs ★★★★☆ ()

эти нейронные сети вообще имеют полезное реальное воплощение ?
столько разговоров про них, а практической полезной реализации чтото не видно
есть ли вообще от них польза ?

x905 ★★★★★ ()
Ответ на: комментарий от x905

есть ли вообще от них польза ?

ну ты почитай например где они применяются и глупые вопросы сами пропадут.

Rastafarra ★★★★ ()
Ответ на: комментарий от AlexCones

стянута где-то реализация без малейшего понятия, как это работает

Зато эта реализация протестирована и работает.

А будет ли твой велосипед работать быстрее и стабильнее, если ты даже литературу не знаешь, какую копать?

И, да, выше я там видел что-то про диплом/диссер. Реализация нейросети по книжке как самоцель - это херня и вовсе ненаучно. Куда более проблематично решение прикладных задач нейросетями, уж там то голову поломаешь будь здоров (если задача не из разряда классической тривиальщины, которую на лабах дают). Реализация же *своих*, доселе неописанных и принципиально новых типов сетей - уже совсем другой уровень.

yoghurt ★★★★★ ()
Ответ на: комментарий от yoghurt

Я на экзамене на бумажке за 15 минут реализовывал :)

buddhist ★★★★★ ()

А не проще надыбать уже готовую топологию сети?

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от x905

есть ли вообще от них польза ?

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

jtootf ★★★★★ ()

Мне попадались в прошлом хорошие статьи, но за темой давно не слежу. А так,

(1) перцептрон - это задача нелинейной многомерной оптимизации, где вся фишка в том, что градиент удается вычислить за O(N), а не за O(N^2) как обычно. Можно рассматривать как метод мат. статистики;

(2) сеть Хопфильда - это по сути грубая проекция по обобщенному преобразованию Фурье на линейное пространство, порожденное заданным множеством запомненных образов. Если посмотреть на уравнения, то там вырисовывается по форме именно такое преобразование. Из математики известно, что если использовать ортогональный базис вместо образов, то получается точная проекция на пространство. Кроме этого, есть еще физический смысл. Что-то там про минимум энергии. Фишка метода в этих параллелях с наукой, а также в том, что удается сам процесс вычислений и обучения очень сильно распараллелить.

(3) про сеть Кохоненна уже благополучно забыл :)

dave ★★★★★ ()

У меня с ННГУ еще вот такая вещь осталась. Посмотри, может пригодится.

hibou ★★★★★ ()

вот здесь можно даже код посмотреть:


http://leenissen.dk/fann/wp/download/

FANN Features:

Multilayer Artificial Neural Network Library in C
Backpropagation training (RPROP, Quickprop, Batch, Incremental)
Evolving topology training which dynamically builds and trains the ANN (Cascade2)
Easy to use (create, train and run an ANN with just three function calls)
Fast (up to 150 times faster execution than other libraries)
Versatile (possible to adjust many parameters and features on-the-fly)
Well documented (An easy to read introduction article, a thorough reference manual, and a 50+ page university report describing the implementation considerations etc.)
Cross-platform (configure script for linux and unix, dll files for windows, project files for MSVC++ and Borland compilers are also reported to work)
Several different activation functions implemented (including stepwise linear functions for that extra bit of speed)
Easy to save and load entire ANNs
Several easy to use examples
Can use both floating point and fixed point numbers (actually both float, double and int are available)
Cache optimized (for that extra bit of speed)
Open source, but can still be used in commercial applications (licenced under LGPL)
Framework for easy handling of training data sets
Graphical Interfaces
Language Bindings to a large number of different programming languages
Widely used (approximately 100 downloads a day)

kvitaliy ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.