Комментарии 29
Формулы и код — это все интересно, но скриншот программы с графическим представлением того, что получилось, была бы более уместна в результате.
+1
вычисляет величину корректировки байеса
изменяет веса своих связей с байесом
![image](https://habrastorage.org/getpro/habr/comment_images/8e2/6e0/d64/8e26e0d640de3cd153e184e916bbafc0.gif)
не нужно его корректировать и изменять его связи -)
+2
Честно, если бы не знал о чем вы пишите не фига не понял бы. Для знакомства с нейронными сетями советую программку NeuralWorks, вроде есть демо версии бесплатные, у нас на лабах по данном предмету была, с ней достаточно всё наглядно можно поглядеть, что да как происходит при обучении различных видов сетей, не только обратного распространения.
+1
Сдается мне, что каждый, кто знакомится нейросетями, считает своим долгом написать об этом на Хабре. И только у по настоящему твердых духом получается избежать этого искуса.
+3
Так это же студенческая программа, примерно 4-5 курс и некоторые пишут по ней диплом, поэтому отличный повод написать статью на хабре для инвайта. Только вот штука в том, что в основном это перепечатки книг и ничего нового или даже своего — авторы не вносят. Они не рассуждают, не проверяют, не тестируют, не э-к-с-п-е-р-и-м-е-н-т-и-р-у-ю-т. Вот и получается безвкусица, а не стоящая статья.
+1
Ну слушал я одну докторскую про умножение на нейронной сети, нейронная сеть сделана на ПЛИС, в активационной функции есть умножение. Спрашивается как это будет работать быстрее. Надеюсь вы не таких статей ждете? У меня когда мы изучали нейронные сети была идея попробовать с помощью нее предсказывать генератор псевдослучайных чисел, но не удалось, а так кроме распознавания нейронные сети пока ни для чего особо не подходят пока не будет хороших аппаратных решений.
-2
Никто тут как бы и не заставляет студента писать статью сравнимую с докторской. Речь-то о другом.
0
Вы меня не правильно поняли. Это был один из разделов доктороской, сама докторская о другом. Я говорил о механизме применения: «Умножать с помощью нейронной сети, построенной на ПЛИС, с активационной функцией, включающей умножение». На современном этапе развития это бред. Реально сейчас можно говорить только о старом, о новом можно будет говорить с созданием Нейрочипов.
0
Никто и не требует писать о новом в настолько кардинальном смысле.
Но на моей памяти это не менее чем третья статья об обратном распространении ошибки. И не менее чем пятая про основы нейросетей. Нужно иметь долю храбрости (хабрости?) чтобы считать, что свое объяснение того же самого затмит предыдущие повествования в понятности и наглядности. А тут даже кода метода нет — только интерфейсы.
Вместо этого лучше писать про какую-то конкретную реализацию метода для какой-то конкретной интересной задачи. Или какой-нибудь эвристический способ улучшить результаты работы.
Но на моей памяти это не менее чем третья статья об обратном распространении ошибки. И не менее чем пятая про основы нейросетей. Нужно иметь долю храбрости (хабрости?) чтобы считать, что свое объяснение того же самого затмит предыдущие повествования в понятности и наглядности. А тут даже кода метода нет — только интерфейсы.
Вместо этого лучше писать про какую-то конкретную реализацию метода для какой-то конкретной интересной задачи. Или какой-нибудь эвристический способ улучшить результаты работы.
0
приму участие, пожалуй, в дискуссии.
1. Что касается студентческой программы 4-5 курсов, освещающей нейронные сети. Закончил мехмат, специальность компьютерная безопасность. Курса нейронных сетей не было и в помине. Если у Вас он был, я искренне за Вас рад — я же, видимо, компенсирую пробелы в своем образовании самостоятельно.
2. Всем высказавшимся ранее насчет новизны статьи — товарищи, давайте не будем путать новизну информации на сайте с научной новизной. как человек, неоднакратно слышавший различные точки зрения по поводу того, что происходит сейчас в сфере науки, от лиц, непосредственно варящихся в котле этой самой научной кухни, могу сказать, что вся научная новизна современных работ сводится к допиливанию и вылизыванию существующих идей и алгоритмов, и лишь единицы, действительно, приносят что-то новое в научный мир. Прошу прощения, а сколько докторов у нас в стране?
3. Весь код присутствует на гитхабе, потрудитесь дочитать до конца, пожалуйста, прежде чем выносить вердикт. И не только код, относящийся к реализации алгоритма, но и пример его использования. стоит только cmake запустить разок. Это и есть реализация существующего алгоритма.
1. Что касается студентческой программы 4-5 курсов, освещающей нейронные сети. Закончил мехмат, специальность компьютерная безопасность. Курса нейронных сетей не было и в помине. Если у Вас он был, я искренне за Вас рад — я же, видимо, компенсирую пробелы в своем образовании самостоятельно.
2. Всем высказавшимся ранее насчет новизны статьи — товарищи, давайте не будем путать новизну информации на сайте с научной новизной. как человек, неоднакратно слышавший различные точки зрения по поводу того, что происходит сейчас в сфере науки, от лиц, непосредственно варящихся в котле этой самой научной кухни, могу сказать, что вся научная новизна современных работ сводится к допиливанию и вылизыванию существующих идей и алгоритмов, и лишь единицы, действительно, приносят что-то новое в научный мир. Прошу прощения, а сколько докторов у нас в стране?
3. Весь код присутствует на гитхабе, потрудитесь дочитать до конца, пожалуйста, прежде чем выносить вердикт. И не только код, относящийся к реализации алгоритма, но и пример его использования. стоит только cmake запустить разок. Это и есть реализация существующего алгоритма.
0
Реализаций существующего алгоритма очень и очень много. Это же очевидно.
0
С этим утверждением сложно поспорить. Конкретная реализация имеет своей целью закрепление знаний, полученных в ходе ознакомления с информацией, представленной в книге, ссылку на которую я привел. Кроме того, теория, не перегруженная сложными формулами структурирована таким образом, что человек, которого интересует прежде всего алгоритмическая сторона вопроса, найдет ее полезной.
-1
Извольте.
1. На Хабре в правом верхнем углу есть строка для поиска по Хабру (сам пользовался). Вбейте в нее «нейронные сети» и наслаждайтесь — тонны статей как о начальных сведениях про нейросети, так и о более сложных примерах, концепциях. Данная же статья, не будем лукавить, не отличается ни качеством изложения, ни методической стороной, ни новизной информации.
2. Не думаю, что кто-то в комментариях в самом деле ожидал на Хабре новизны научной, так как действительно новые вещи пишутся сначала в научных статьях, а потом уже перекочевывают сюда. Но новизна в широком смысле, вполне приемлемая для Хабра — это новизна применения существующих вещей. Не просто «ой, смотри, ребя, я тут книжку по нейросетям прочитал, сейчас перескажу», а «я тут книжку прочитал и вот такую штуку закодил, которая вот такие вещи делает». В обратном случае можно начинать писать статьи по каждой лекции университетской.
3. Автор в дополнение к теоретической части вынес в статью фрагменты кода. Чего он хотел этим добиться? Чтобы мы посмотрели на интерфейсы и прониклись его мастерством применения паттернов ООП? Статья ведь про метод обратного распространения ошибки — думаю, рационально было бы именно его выставлять в виде кода. А если весь код на гитхабе, то зачем декларативные куски выставлять?
1. На Хабре в правом верхнем углу есть строка для поиска по Хабру (сам пользовался). Вбейте в нее «нейронные сети» и наслаждайтесь — тонны статей как о начальных сведениях про нейросети, так и о более сложных примерах, концепциях. Данная же статья, не будем лукавить, не отличается ни качеством изложения, ни методической стороной, ни новизной информации.
2. Не думаю, что кто-то в комментариях в самом деле ожидал на Хабре новизны научной, так как действительно новые вещи пишутся сначала в научных статьях, а потом уже перекочевывают сюда. Но новизна в широком смысле, вполне приемлемая для Хабра — это новизна применения существующих вещей. Не просто «ой, смотри, ребя, я тут книжку по нейросетям прочитал, сейчас перескажу», а «я тут книжку прочитал и вот такую штуку закодил, которая вот такие вещи делает». В обратном случае можно начинать писать статьи по каждой лекции университетской.
3. Автор в дополнение к теоретической части вынес в статью фрагменты кода. Чего он хотел этим добиться? Чтобы мы посмотрели на интерфейсы и прониклись его мастерством применения паттернов ООП? Статья ведь про метод обратного распространения ошибки — думаю, рационально было бы именно его выставлять в виде кода. А если весь код на гитхабе, то зачем декларативные куски выставлять?
+1
Ваши первое и второе высказывания — вещь сугубо субъективная. Еще раз повторюсь, чистота и прозрачность алгоритма была для меня приоритетным фактором выбора данного источника информации. Я не ставил своей целью демонстрацию каких либо навыков этой статьей, но если эти навыки будут прокомментированы профессионалами ( особенно навыки программирования, в чем я тоже делаю только еще первые шаги ( в профессиональном плане)), то я буду только рад, о чем я и заявил в начале статьи. А теперь к интерфейсам. Открывая чужой код, смотрю первым делом на интерфейсы, так как, по-моему мнению, это именно то, что дает понять, как пользоваться кодом, конкретным объектом и прочее.
-1
Несомненно субъективная, я и не спорю. Так как статья не ставит целью донести до народа что-то новое, я оценивал ее с точки зрения педагогической — как хорошо она излагает известное. И моя основная претензия вовсе не к качеству и содержанию, не к коду и так далее. А к тому, что до вас об этом алгоритме уже писали. И что более важно — писали на Хабре. Так зачем повторять то, что уже много раз было сказано? Надежда, что в этой статье то же самое сказано как-то по другому, не оправдалась.
Ну и вы ведь рассказываете об алгоритме, а не свои разработки продаете (раздаете даром). Поэтому логично было бы предъявлять в первую очередь код существенной части алгоритма, а не интерфейс и ссылку на продолжение.
Ну и вы ведь рассказываете об алгоритме, а не свои разработки продаете (раздаете даром). Поэтому логично было бы предъявлять в первую очередь код существенной части алгоритма, а не интерфейс и ссылку на продолжение.
+1
>«Умножать с помощью нейронной сети, построенной на ПЛИС, с активационной функцией, включающей умножение»
это как я, на заре своего изучения нейросетей, экспериментировал с радиально-базисными нейросетью, и очень удивлялся, как это он с калькуляторной точностью предсказывает квадратичную функцию :)
это как я, на заре своего изучения нейросетей, экспериментировал с радиально-базисными нейросетью, и очень удивлялся, как это он с калькуляторной точностью предсказывает квадратичную функцию :)
0
Вот я так сразу и подумал. Возможно я просто не понимаю философии хабра, но когда сам писал статью для инвайта, нашел действительно новый материал, которого не было на сайте (материал говорил о старом новыми словами, новыми примерами) — я даже специально проверил не присутствует ли уже такая же статья.
А тут, ну простите, надоело уже видеть каждые несколько месяцев статьи то о том что такое нейросети, то о обратном распространении ошибок. Нейросети (а точнее базовые вещи из этого курса) здесь одна из самых популярных тем у новичков.
А тут, ну простите, надоело уже видеть каждые несколько месяцев статьи то о том что такое нейросети, то о обратном распространении ошибок. Нейросети (а точнее базовые вещи из этого курса) здесь одна из самых популярных тем у новичков.
0
Какие практические задачи вы решаете с помощью нейронных сетей?
0
Собственно, вдохновленный вот этой www.cscjournals.org/csc/manuscript/Journals/SPIJ/volume3/Issue5/SPIJ-37.pdf статьей, решил улучшить результаты работы opencv'шной модели распознавания
0
Область применения огромна, это же нейронные сети. Однако для них всегда были альтернативы. Статистика и что-то там ещё. Не помню уж…
0
Однако для них всегда были альтернативы
Именно поэтому я свой вопрос и задал. Существуют «более другие» методы, тот же SVM, например, на некоторых задачах показывает себя лучше нейронных сетей, которые выбирают только потому, что от них веет утонченностью и искусственным интеллектом, а SVN — всего лишь линейный классификатор.
+1
SVN замечательная штука, особенно мне импонирует математическая постановка задачи, из которой SVM ногами произрастает. Я даже знаю пример, где, по моему опыту, SVM рвал, другие алгоритмы на британский флаг. А именно сравнение поискового запроса и поисковой выдачи. Но есть у нелинейного SVM одна проблема… сложность тренировки от числа объектов O(n^3) — и, сразу, для более-менее внятных задач SVM становится неприменим… И на первое место выходят всякого рода леса и нейронные сети.
0
Вы статистику противопоставляете нейронным сетям? Или я что-то не так понял?
0
На курсере Andrew Ng ведет классный курс по машинному обучению, там рассматриваются в том числе и нейронные сети www.coursera.org/course/ml
Новая сессия началась неделю назад, еще можно догнать)
Для знакомства с областью лучше не придумаешь, точно не пожалеете.
Новая сессия началась неделю назад, еще можно догнать)
Для знакомства с областью лучше не придумаешь, точно не пожалеете.
0
Его курс замечателен, но уж больно оторван от реальности. Там толком не поднимаются проблемы точности и масштабируемости. Я прекрасно помню чувство, когда я, просмотрев его лекции, будучу магистром физики, с несколькоми публикациями в мировых научнх журанлах, с зашкаливающим ЧСВ попробовал применить свои занния на практике, И тут же получил по эмоциональный щелбан по носу, а для того, кто от груди жмёт лёжа 100 кг, это достаточно необычное чувство. Это я к тому, что теория — теорией (Теория это очень важно, а практика практикой. ) Мой эмоциональный щелбан состоял в том, что моя первая попытка предсказания на Титанике… дала мне нижние 5%. То есть, показала мне, что я не «без пяти минут кандитдат наук», а так, «лошара» с завышенным самомнением. После этого «линия партии изменилась», я стал участвовать в каждом соревновании на kaggle.com. Причём если я не попадаю в топ 10% — что-то я упустил. Если я не попадаю в топ 25% — это значит, что я вообще потерялся в этой задаче. Сейас я 233 из 352971, но это, во-многом, благодаря тому, что ты не просто блеешь над проблемой, как многие и в нашей, и в заграничной науке, а что работа над задачами, которые предосталвяет kaggle.com в режиме, когда проотив тебя и те, кто работают в real Data Science, и аспиранты Stanford, и аспиранты МГУ(Есть один серьёзный профессор в МГУ — Алекксандр Дьяконов + его студенты), и девятилетние азиаты(что, бы ты не делал, какой бы ты навык не тренировал, всегда найдётся девятилетний азиат, который делает это лучше(как минимум на youtue.com)), это вопрос, который надо ответить. Как — это твои проблемыы. Какие инструемнты использовать, опять же, зависит от твоего выбора. Все красивые слова и научные титулы — это в пользу бедных.
Твой результат превыше всего.
"
Твой результат превыше всего.
"
+2
Классическая статья про многослойный персептрон прямого распространения. Делал такой на VBA just for fun. Безусловно, есть куча свободных библиотек с реализацией различных нейронных сетей и их алгоритмов обучения, но своя сеть это СВОЯ сеть. После написания своей реализации начинаешь понимать сети более тонко, что-ли. Автор молодец в любом случае, если сам писал…
-1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки (Backpropagation)