[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.150925 Reply
File: Perceptron.png
Png, 37.11 KB, 300×269 - Click the image to expand
edit Find source with google Find source with iqdb
Perceptron.png
Почему на Добраче до сих пор не был кафедры машинного обучения? Недавно заинтересовался нейросетями, но наткнулся на проблему недостатка понятной и структурированной информации на русском языке на самом деле меня забаниили в гугле. Сейчас попробовал многослойные перцептроны в задачах аппроксимации и классификации, в принципе довольно успешно задачу четности решить не смог, немного попрактиковал расознавание картинок и наткнулся на сверточные сети, которые, по-моему, объясняются всюду из рук вон плохо.
Может быть анон подскажет, где искать чудесные источники информации, где по полочкам разложены топологии сетей, методы обучения, функции активации, приемы для обучения сетей и так далее. Кроме того, неплохо было бы найти задачки и датасеты на все эти моменты.
Еще хотелось бы узнать, что еще необходимо изучить для того, чтобы погрузиться в мир машинного обучения в математической части не очень силен, но численные методы оптимизации и основы статистики знаю.

В общем, нить машинного обучения и нейросетей иди!
>> No.150964 Reply
>>150925
Это очень сложно из-за сопутствующего матана. Нужно быть и кодером, и математиком сразу, что редкость и дорого ценится. Потому тред наврядле взлетит. Я кодер, но когда полез в НС, не понял даже основ, какая-то китайская грамота с безумным количеством формул. С матаном у меня полный ноль, потому понял, что пролетаю.
На английском инфы полно, однако надо очень хорошо знать всю математику профильного универа, иначе ничего там непонятно.
>> No.150965 Reply
>>150925
Я хочу! С чего начать? Оп, но тебя уже наверняка не догоню.
>> No.150974 Reply
>>150964
У меня сложилось впечатление, что на практике для использования нейросетей знать матана особо не надо не надо. Ну серьезно, все библиотеки давно написаны если вы конечно не хотите вырываться во что-то гениальное и становиться чемпионами kaggle.com, и для простых сетей типа перцептронов, и для DeapLearning (сложных многослойных сетей). И вообще задача использования нейросетей, как я понял, похожа на задачу использования методов оптимизации, то есть подбора параметров (топологии сети, числа слоев, числа нейронов, функции активации, метода обучения и количества эпох обучения). Да и вообще, в самой идеи нейросети ничего сложного с точки зрения математики нет, только в методах обучения, но на практике, похоже, и не надо знать почему метод такой, а надо знать КАКОЙ метод использовать. Так что для меня то проблема состоит в отсутствии хороших практических пособий, а не бесполезных статей из формул. Опять же, формулы лишними не будут, я предпочитаю разбираться, как что работает, но это практической части бы побольше.
>>150965
Я начинал примерно так: прочитал, что такое нейросеть и для чего она нужна, нашел самую элементарную нейросеть (однослойный перцептрон), затем перешел к практике. Для начала решил написать сетевую библиотечку сам иначе не мог, это позволило мне лучше разобраться, для этого прочитал про искусственный нейрон и функции активации, затем, собственно, про сам перцептрон. Потом потрахался с обучением и запилил обучение методом обратного распространения ошибки. Проверил на работоспособность, подправил, и, о чудо, все заработало. Тогда я скачал популярную и простую библиотеку для питона и начал играться. Сначала аппроксимировал прямую хотя на это способен даже ОДИН нейрон, затем синусоиду и решил задачу XOR простейшая линейно неразделимая задача. Потом немного с классификацией, вроде положительные/отрицательные числа и задачу про Ирисы. Вот сейчас пытаюсь, когда нахожу время, изучать другие топологии и методы обучения, хотя на сверточных сетях слегка запоролся.
Элементарные советы могу дать такие: число входных нейронов равно числу стимулов (например для картинки 16х16 = 256, для функции одной переменной - 1 нейрон, для функции трех переменных - 3), если задача легко формализуема, то в скрытом слое надо немного нейронов (штук 5), если сложно - сильно больше. Эпох обучения нужно довльно много, 10 - 10000, и это может занять немало времени (так как метод обратного распространения ошибки это градиентный алгоритм), но не слишком много, иначе можно столкнуться с проблемой переобучения.
Алсо, если нужно я могу как-нибудь объяснить персептрон и тому подобные вещи на пальцах.

P.S извините за неровный почерк
>> No.150980 Reply
Оп говорит про структуру искусственного интеллекта?
>> No.150983 Reply
>>150980
Нет, узко заточенные задачи классификации.
>> No.150992 Reply
>>150974
Давай объясняй, и накидай чего хорошего почитать можно, пожалуйста.
>> No.151002 Reply
>>150925
У меня стойкое дежавю, тут был точно такой же тред полгода назад, даже картинка та же.
>> No.151010 Reply
>>151002
Насчет картинки не помню, но Кафедра Машинного Обучения точно была, причем долго висела на нулевой.
>> No.151013 Reply
>>150980
Про нейросети, которые в том числе могут использоваться в области искуственного интеллекта.

>>150992
Попробую, как найду время, пока нужно определиться с формой подачи информации вероятно в картинках или IPython тетрадках

>>151010
Значит я опростофилился, хотя возможно тред уже давно утонул и его не найти.

Алсо, завтра скину немного картинок с аппроксимацией простых функций, а также возможно графики "качества" аппроксимации в зависимости от числа нейронов и эпох обучения.
>> No.151027 Reply
Вкатываюсь, быстро, решительно.
>> No.151029 Reply
>>150925
Оп, а есть какие-то конструкторы нейросетей? Хочу поиграться с машинной интроспекцией.
>> No.151046 Reply
>>150974
Я хотел обучить deepdream на анимешные картинки, это был бы вин. Оборудование есть, пикч навалом. Но как глянул на инструкции, как это сделать - там вагон теории, формул, терминов... Ничего не понял, а изучать целый пласт очень сложных технологий, чтобы сделать десяток картинок, как-то не прельщает. Ну и еще я пишу софт, в котором классификатор картинок пришелся бы весьма кстати.
>> No.151049 Reply
File: line.png
Png, 1438.53 KB, 6250×6125
edit Find source with google Find source with iqdb
line.png
File: parab.png
Png, 1453.04 KB, 6250×6125
edit Find source with google Find source with iqdb
parab.png

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

>>151029
Смотря что ты понимаешь под "конструкторами". Визуальных, типа редактора графа сети и свойств нейронов нет, или, , что более вероятно они не особо известны и я их не встречал А вообще гениальная идея, быть может если не найду когда-нибудь сам сделаю. С другой стороны это нужно только для небольших сетей произвольной топологии, в других случаях это скорее обуза. Но есть куча библиотек для разных языков программирования, я использую PyBrain. В нем можно быстро создать перцептрон или же вручную задать множество нейронов и множество связей между ними. Так же там есть инструменты для обучения сетей c учителем и без него, оптимизации функций и, в том числе, интерфейс для генетических алгоритмов.
>> No.151052 Reply
>>151049
Какая конфигурация сети у твоих примеров?
>> No.151053 Reply
Вот что я нашел, пока искал какую-нибудь простейшую статью для начала знакомства с нейросетями:
https://software.intel.com/ru-ru/blogs/2011/12/22/finereader-2
Годная статья, даже код уже написан.
>> No.151054 Reply
>>151053
Проблема этой статьи в том, что используется сеть Хопфилда, достаточно сложная штука с рекуррентыми связями. Для меня самой первой и простой практической статьей была эта: https://habrahabr.ru/post/148407/
В PyBrain перцептрон создается одной командой, так же быстро создается датасет и можно приступать к обучению. Думаю приступить к сетям с рекуррентными связями после сверточных (из проще на практике применять).
>> No.151068 Reply
>>151027
Не знаю, надо, наверное, написать какие-то ближайшие свои планы, что я собираюсь почитать-разобрать.
1. Поверхностно пройтись по тутору: http://deeplearning.net/tutorial/
2. Туториал по Caffe (http://caffe.berkeleyvision.org/tutorial/ ?)

Хотеть понять, как сейчас модно писать сети с более-менее сложной архитектурой, как выкачивать и напрямую использовать/модифицировать уже обученные на всяких imagenet'ах сети и как и на чём писать LTSM-сетку.

Планы на неделю, наверное.
>> No.151081 Reply
>>151068
Глянул сайт по первому пункту и обнаружил там прекрасный гайд по сверточным сетям. Да и вообще на первый взгляд выглядит как лютый вин, надо тоже ознакомиться, а в идеале понять и попробовать на практике это все.
>> No.151091 Reply
>>151054
А мне статья как раз и показалась интересной потому что в ней всё подробно сделано. Мне кажется, проще понять когда знаешь как всё работает.
>> No.151108 Reply
Я что-то более-менее понимаю в математике и с простейшими ИНС уже ознакомился. Где можно почитать краткое описания большинства видом ИНС? Чтобы без лишней воды, по пунктам была описана функция, пороговая функция, правило обучения, ну... тоесть все необходимое, без рассуждений и доказательств.
>> No.151123 Reply
>>151108
Вот и я того же ищу, только вместо
> пороговая функция
Интереснее бы узнать применение этой сети, так как функция активации не играет особой роли за некоторыми исключениями. Главное, чтобы была плавной, дифференцируемой и сворачивала входное значение в отрезок [-1;1]
>> No.151124 Reply
>>151052
Элементарный перцептрон с 1 выходом, 1 входом и 1 скрытым слоем. Что еще нужно для аппроксимации функции переменной? Кстати, универсальная теорема аппроксиматоров говорит, что сеть с одним скрытым слоем может аппроксимировать любую непрерывную функцию.
>> No.151138 Reply
Кстати, все эти темы с аппроксимацией вызвали у меня вопрос: способны ли нейросети к экстраполированию функций. Если посмотреть на структуру сети с полносвязными слоями и представить как она работает в голову приходит ответ "не способны" или "малоспособны". Быть может я неправ или же есть какие-то хитрые архитектуры, которые могут это делать?
>> No.151154 Reply
>>150925
Как и обещал, запилил гайд по перцептрону. Как и все у меня, гайд получился кривоват, так что буду очень рад всем исправлениям и советам.
%%%с: знаком создайте намекает, что этого будет недостаточно%
>> No.151155 Reply
File: Перцептрон.zip
Zip, 0.09 KB, 0 files
view
Перцептрон.zip
File: 4.png
Png, 1.09 KB, 300×20
edit Find source with google Find source with iqdb
4.png
File: Перцептрон.pdf
Pdf, 0.14 KB, 595×842
Перцептрон.pdf

>>151154
Плюсом ко всему запорол разметку и забыл сами файлы.
Зато новая капча весьма благосклонна ко мне.
>> No.151159 Reply
>>151155
В общем-то достаточно годно. Вчера я сделал простую реализацию перцептрона на основе того, что прочитал про него в википедии, но там используется пороговая функция и веса связей дискретные.
Тут был один вопрос, но он уже отпал.
Мне кажется, в абзаце про обучение лучше всё же добавить математики, а то так это просто общие слова, после которых надо лезть в википедию и читать всё ту же математику.
ПС:На картинке на второй странице ты хотел написать xnWn, а не x3W3.
>> No.151160 Reply
>>151159
А, ещё вопрос: в сети которую ты описывал, как я понял, каждый нейрон в любом случае что-то передается, у них нет порога активации, как у настоящих нейронов. Чем это лучше?
>> No.151165 Reply
>>151155
> Это градиентный (использующий производные) алгоритм оптимизации.
Ладно, про итерации рассчета и сползание к минимальное ошибке я понял. Но что такое производные и зачем они нужны? Что с их помощью можно сделать такого, что нельзя реализовать обычными уравнениями вида 2=x+1 ?

hashtag why am i so dumb and annoying
>> No.151168 Reply
>>151049
Расскажи поподробнее, что делает твоя программа? Что значит "аппроксимируется линейная и квадратическая функции"?
>> No.151169 Reply
>>151168
Его сеть научилась распознавать y=x и y=pow(x,2). Правда теперь я не понимаю на какой из входов нужно подавать функция для распознавания. Несу чушь.
>> No.151174 Reply
>>151169
> научилась распознавать y=x и y=pow(x,2)
Это звучит очень расплывчато и может многое означать.
Что конкретно делается? Например, что подаётся на вход и что подаётся на выход? (только не надо говорить "функция", в каком виде?)
>> No.151175 Reply
>>151174
> подаётся на выход
Ничего же. Там забирают результат.
> вход
Я ничего не понял, пусть Оп придет.
>> No.151178 Reply
>>151174
Насколько я понял, суть в том, что нейронная сеть тебе заменяет саму функцию, то есть ты ей даёшь значение переменной(-ых), а она тебе значение функции в данной точке с определённой точностью. Обучение заключается в том, что ты даёшь ей конечный набор точек и значений функции в соответствующих точках. То есть конечный смысл таких сетей в том чтобы "строить" функции зная только некоторые значения.
>> No.151180 Reply
>>151178
Тогда в его примерах со скринами линии и параболы у сети один вход и один выход? Сеть с двумя входами сможет имитировать f(x1,x2) и т.д. ?

Я все еще хочу узнать зачем тут производные. Наглядно, на пальцах, без смс.
>> No.151182 Reply
>>150925
Лииииииииииииииииииииииииииииииииисп!
>> No.151183 Reply
>>151159
> лучше добавить математики
Вероятно, однако я считаю, что этого особо и не надо знать для того, чтобы работать с нейросетями, методы оптимизации имеют весьма косвенное отношение к ним, а все библиотеки уже содержат в себе эти методы.
Алсо, перечитал гайд, да, есть несколько ошибок, и, возможно, что-то таки стоит добавить.

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

>>151168
Мы как бы "учим" сеть выполнять какую-то функцию (например возведение в квадрат), показывая ей примеры.
То есть на этапе обучения мы даем ей (вереее не нейросети, а алгоритму обучения) на вход точки xi и заявляем, что правильный выход должен быть yi.
Затем, после обучения мы подаем ей на вход какие-то xj, а сеть пытается выполнять роль той функции, которая должна перевести xj в искомое нами yj.
Например, условно говоря, на этапе обучения мы даем датасет [1, 2, 3, 4, 5] и значения, которые должны получиться [1, 4, 9, 16, 25]. Затем мы активируем сеть с входным значением 1,5 и на выходе получим 2.2527.

>>151169
Сеть научилась не распознавать функцию, а "выполнять роль этой функции" с определенной точностью, хотя обучить сеть оаспознавать функцию тоже вполне реально и не особо сложно (задача классификации). Надо бы кстати попробовать. Так как это функция одной переменной у нас в входном и выходном слоях по одному нейрону, значение, естественно, подается на входной.
>> No.151184 Reply
>>151182
Лэйн?
>> No.151185 Reply
>>151178
This.
>> No.151186 Reply
>>151183
Всё понял, спасибки.
>> No.151190 Reply
>>151178
Алсо, все таки не
> таких сетей
А такого использования сети. Применений к сети такой же конфигурации уйма (то же распознавание изображений, классификация).

Кстати, получилось довольно неплохо аппроксимировать функцию Гаусса и синусоиду, когда-нибудь думаю скинуть heatmap качества работы в зависимости от количества нейронов и эпох обучения. Он заодно неплохо отражает переобучение.
>> No.151191 Reply
>>151190
Прости, что ты понимаешь под хитмапом? Это ведь визуализация в трех переменных - декартовые икс, игрек и отдельный зет как цвет горячести? Если одно полное обучение у тебя выпекается по 20 минут, дождемся мы этого ещ е не скоро.
>> No.151204 Reply
>>151191
Угу, тот самый heatmap. Но одно обучение занимает куда меньше времени, я обучал сеть с параметрами [1, 3, 7, 10, 35] нейронов и [0, 1, 5, 15, 50, 100, 1000] эпох обучения, и это занимало 20-30 минут хотя, например, когда обучал распознавать картинку 32х32 как раз столько и занимало обучение одной сети. Тут же дискретизация этих параметров может быть побольше, да и пределы тоже, но прирост числа эпох обучения не сильно усложняет задачу (я просто "доучиваю" сеть после активации), и только для изменения числа нейронов в скрытом слое приходится пересоздавать сеть. Алсо, мне же не обязательно сидеть за компьютером пока сеть обучается, я и на ночь могу оставить.
Другой вопрос в том, что синусоида, например, откровенно хреново аппроксимируется сетью с одним скрытым слоем (или же требует большого числа нейронов).
>> No.151205 Reply
Кстати, только что пришла в голову простая интересная идея - чтение капчи Доброчана с помощью нейросети. Надо только узнать, какой используется шрифт, если ширина букв одинаковая, то это очень несложно должно быть. На днях попробую сделать перцептроном, потом в сверточную сеть переведу. Если получится, то отпишу тут.
>> No.151206 Reply
>>151205
Эту капчу можно сравнивать даже попиксельно.

Оп, мы все очень хотим узнать о применениях сетей. Сделай это научно-популярно, все же первый раз.
>> No.151208 Reply
>>151205
Мне кажется, капча доброчана этот тот случай когда проще написать алгоритм, чем использовать нейросеть. Другое дело капчи с искаженными буквами и всякими каракулями
>> No.151209 Reply
>>151208
Если шрифт моноширотный, я просто напишу алгоритм, который делит капчу на ячейки с буквами, а буквы уже буду распознавать нейросетью, это вроде бы не особо проблема. А вот распознавание их БЕЗ нейросети это уже сложнее, нужно искать, выбирать метод, реализовывать, а тут обучил сеть на шрифт и все.
>> No.151211 Reply
>>151205
Ты мне нравишься. Давай дружить?
>> No.151214 Reply
File: tumblr_lvhuuq55N71qhoyau.jpg
Jpg, 48.54 KB, 600×695 - Click the image to expand
edit Find source with google Find source with iqdb
tumblr_lvhuuq55N71qhoyau.jpg
>>151211
Зависть.
>> No.151220 Reply
>>151209
> Если шрифт моноширинный
Ньет, шире, как минимум, "ы", "щ", и, насколько могу судить - прочие "ж", "д", "ю".
Зато кернинг стабильный и ровный, можно спокойно буквы разделять, просто воспринимая их как одну цельную область в случае "Ы", "Й" и прочих уродцев - как две.
Ошизеть, сколько запятых получилось. Тут вот ещё две выбыли из строя и теперь не могут найти места в окопе: ,,
>> No.151223 Reply
>>151209
> я просто напишу алгоритм
С этих слов начинается любой проект, который обречён на долгую реализацию
>> No.151225 Reply
>>151223
Даже если шрифт не моноширотный, но буквы разделены это 40 строк кода. Проблема будет только с буквой 'ы'.
>> No.151228 Reply
File: 1.png
Png, 0.90 KB, 300×20
edit Find source with google Find source with iqdb
1.png
File: 2.png
Png, 0.81 KB, 300×20
edit Find source with google Find source with iqdb
2.png

>>151220
C кернингом не так все просто, как казалось. Например на первой капче он отсутствует в паре букв "ду", на второй - в "ут". А вот разделять буквы без кернинга уже не так просто.
>> No.151230 Reply
>>151228
Есть костыльный вариант: перебрать все эти сочетания и воспринимать их как отдельную букву.
Величие конструкторской мысли.tiff
>> No.151231 Reply
>>151230
Не вариант, это потребует невероятного времени обучения. Можно уж придумать эврестический алгоритм, который делит буквы с нулевым кернингом, да и то муторно.
>> No.151233 Reply
File: -.jpg
Jpg, 199.11 KB, 600×857 - Click the image to expand
edit Find source with google Find source with iqdb
-.jpg
Когда-нибудь я достигну достаточного уровня знаний, чтобы создавать машины на stm32 с НС. Воистину, тогда Омниссия будет доволен!
>> No.151241 Reply
Запилил скрипт, который делит капчу на буквы Ясно дело на проблему с "Ы" дело не тратил, не говоря уже про буквы без промежутка, с которыми очень не просто бороться. Осталось самое трудное - подготовка датасета и нормирование букв. Какой шрифт я так и не понял, но весьма похоже на Arial, однако им таки не является Если честно, это не особо критично должно быть, любой похожий шрифт подойдет для обучения. Кстати, обучать, похоже, придется ну очень долго, даже если я соберу таки все буквы.
>> No.151307 Reply
>>151228
Но "ду" не соединены. С "ут" согласен. Ещё "ух" и "гу".
>> No.151338 Reply
>>150925
А никто ещё не запилил датасет с самими каптчами/буквами из каптчи? А то обсуждаете-обсуждаете, кодить-то под что?
>> No.151340 Reply
>>151241
> Ясно дело на проблему с "Ы" дело не тратил
Так может быть и не надо на неё тратить время?
В датасете, на котором будешь обучаться возьми и раздели Ы на ь и палку.
А потом при сборке ответа смотри — если распознали "палку" и перед ней был ь, то объединить в ы.
>> No.151348 Reply
>>151340
Хорошая идея, просто ь + | потом читать как ы.

>>151338
Я бы запилил, у меня уже давно готов скрипт, который делит на буквы капчу.
Но сейчас навалилась куча дел по учебе, так что я отложил это дело как минимум до среды.
>> No.151381 Reply
Сап, очень стала интересна эта тема, но я знаю только паскаль. Есть примеры кода на нем?
>> No.151403 Reply
>>151381
Они используют уже готовые библиотеки и не считают ничего руками. Буквально задают параметры связей в сети и запускают алгоритм обучения на ней yobacalculate(myneural_network) в пару строчек. Может пришла пора подучить другой язык, паскаль же слегка мертв?
>> No.151404 Reply
>>151403
> сломал корявый парсер
>> No.151409 Reply
>>151381
Этот анон верно говорит
>>151403
все используют готовые библиотеки. С другой стороны, под Pascal/Delphi наверняка есть нейросетевые библиотеки а элементарную можно и самому написать, но выучить основы того же Питона можно быстрее, чем искать библиотеку под Паскаль и ебаться с ней.
>> No.151474 Reply
>>150925
А никто не умеет/не применяет реккуректные сети?
>> No.151475 Reply
>>151474
Что это такое? Как работает?
>> No.151486 Reply
>>151475
Это такие нейронные сети, у которых выход связан со входом. Сейчас ими чуть ли не в носу ковыряются. И тексты понимать и тексты генерировать, и т.д. и т.п.

Видимо, мне нужно какое-то поверхностное представление об этом получить до воскресенья. Попробую отписаться, если получится.
>> No.151492 Reply
>>151486
> Рекуррентная формула — формула вида
a_n = f(n, a_{n-1}, a_{n-2}, ..., a_{n-p} ) ,
> выражающая каждый член последовательности a_n через p предыдущих членов. - wiki
Сложность вычисления следующего члена возрастает? Спасибо, заберите обратно.
>> No.151496 Reply
>>151492
Что я только что прочитал?

>>151486-кун.
>> No.151503 Reply
>>151496
> сети, у которых выход связан со входом
У всех сетей выход очевидно связан со входом.

Ты написал рекуррентные сети, я зашёл в энциклопедию и прочитал определение. Следующая итерация выражается через значения предыдущих. Итого сложность вычисления будет возрастать в O(n) ? Это хороший математический трюк, но считать такое тяжело.
>> No.151518 Reply
>> No.151523 Reply
>>151503
Ты странный. Зачем идти в википедию искать похожий по звучанию термин, если там есть конкретно статья про реккурентные сети?
enwiki://Recurrent_neural_network
>> No.151530 Reply
>>151503
> У всех сетей выход очевидно связан со входом.
Зануда. Рекурентная сеть — орграф с циклами.
>> No.151539 Reply
Про рекуррентные сети и LSTM:

http://karpathy.github.io/2015/05/21/rnn-effectiveness/
http://colah.github.io/posts/2015-08-Understanding-LSTMs/

TL;DR:
В общем, зачем нужны RNN — чтобы решать задачи вида
научиться отображать последовательность Xt -> Yt. (при этом порядок следования для нас важен в отличии от обычной задачи классификации)
Или последовательность X_t -> Y

Или научиться генерировать последовательность.
Или строить какое-то представление последовательности.

Или генерировать репчик (да, есть и такая статья).

Очень любят сейчас люди эти штуки пихать для работы с текстом.

Обучается — SGD по "развёрнутой" по времени сети. То есть у нас получается что-то вроде 4*T слоёв. Грустно и, видимо, обучается очень долго.
>> No.151849 Reply
File: help.pdf
Pdf, 0.03 KB, 595×842 - Click the image to get file
help.pdf
У меня есть пара теоретических вопросов, вроде приведенного. Был бы очень признателен, если бы кто-то объяснил как это показать и доказать.
>> No.151851 Reply
>>151849
Что-то не очень понял. В самом низу либо не нужна крышка над тетой, тогда вторая формула получается из подстановки в первую, либо, если крышка нужна, непонятно зачем эта строка нужна.
>> No.151853 Reply
File: help2.pdf
Pdf, 0.05 KB, 595×842 - Click the image to get file
help2.pdf
>>151851
C сподстановкой я бы справился. Вроде как из последней строки можно вывести просто параметр тета0. Насколько я понял из других условий, тета с... крышкой, это среднеквадратическая ошибка. Вот все задачи.
>> No.151854 Reply
>>151849
Не уверен, что понял, что от тебя хотят в этой задаче. Возьми в верхней функции производную по \theta0 и приравняй её нулю. Отсюда выведешь условие на \theta0. (оно точно совпадёт с тем, что написано в последней строке).

Подставив это самое \theta_0 в первую функцию, получишь в точности вторую функцию.
>> No.151856 Reply
>>151854
Ок, спасибо. А что скажешь по остальным задачам >>151853 ?
>> No.151868 Reply
>>151856
А ничё непонятно.
Вот смотрю я вторую задачу. Что там за \thetai с крышкой? Это те же \thetai с крышкой, которые были в твоём прошлом листе? Почему из них вычитается именно \theta, а не \theta_i?

Или это просто набор из n оценок параметра \theta?
В таком случае, если не оговорено, что все эти \theta_i как минимум независимы, утверждение про дисперсию среднего просто неверно.
>> No.151876 Reply
>>151868
Кажется, я начал понимать кое-то.
"Крышка" означает что это предсказанное значение. Дальше пока мысль особо не идет.
>> No.151889 Reply
>>151876
Ты чем-то не тем занимаешься.

Вместо того, чтобы понять из контекста (ну, эти упражнения не на ровном же месте у тебя взялись - это приложение к какой-то лекции/курсу/учебнику/статье/туториалу/whatever), что же обозначают обозначения, в чём смысл задачи и эту задачу РЕШИТЬ, ты прикладываешь училия к тому, чтобы смысл обозначений УГАДАТЬ.

И очень этому угадыванию радуешься.

Хрень какая-то. Завтра ты откроешь другой очебник и там будут другие обозначения. И что ты будешь делать с двумя часами, потраченными на угадывание?
офкорс, я лукавлю, обозначать набор параметров тетой и использовать крышку/звёздочку/волну над буквой как обозначение 'оценка параметра' - штука довольно общепринятая, но не суть
>> No.151895 Reply
>>151889
Скажем так, контекста нет и я был бы рад хорошему учебнику по теме.
>> No.151896 Reply
Какая сеть лучше всего подходит для китайской комнаты? Тоесть, не китайской, а какой-то латинской, не на распознавание картинок, а для работы с цифровым текстом - смысл слова не известен, но надо распознать что это именно слово по обучающей выборке образцов и классифицировать слово, хотя бы с двумя выходами.
>> No.151900 Reply
>>151895
> по теме.
по какой теме?
Теорвер?
Матстат?
Машинное обучение?

С какой перспективы и с какой глубиной?
> Скажем так, контекста нет
Окей, откуда тогда эти задачи?
Нет, серьёзно, мне откровенно интересно, при каких таких условиях у листка с задачами не будет существовать контекста.

Разумеется, я могу это представить пару-тройку таких ситуаций. Одна интереснее другой.

Ты взял листок, взял в руку ручку, закрыл глаза, вошёл в гипнотический транс, а когда очнулся, весь листок был исписан задачами.

Ты обнаружил в почтовом ящике конверт с листом с этим задачами. Ни отпечатков, ни комментариев, ни ссылок. Только листок.

...
Нет, определённо, за этим может стоять только какая-то интересная и невероятная история! Пожалуйста, поведай мне её, я жажду её услышать!

>>151896
> Какая сеть лучше всего подходит для китайской комнаты?
Формализуй задачу.
> Тоесть, не китайской, а какой-то латинской
Всё ещё непонятно.

> не на распознавание картинок,
А в бесполезном мысленном эксперименте Серла было про распознавание картинок? Вау, каждый день узнаю что-то новое!
> а для работы с цифровым текстом
Работа с цифровым текстом обычно называется Natural Language Processing (NLP). Подзадача - видимо не видимо, методов - туевы кучи, статей видимо не видимо.
> смысл слова не известен, но надо распознать что это именно слово по обучающей выборке образцов и классифицировать слово, хотя бы с двумя выходами.
Что ты хочешь классифицировать, на какие классы и на чём планируешь обучать?
На входе последовательности символов, на выходе - вердикт была ли эта последовательность словом или просто случайным набором букв?
На входе слова - на выходе, было ли это слово глаголом или нет?

Для какой задачи тебе это нужно?

Конкретизируй.

Почему ты хочешь начать именно что с нейронных сетей (причём каких-то хитрых), а не попробовать для начала более простые, понятные и проверенные временем модели?
>> No.151901 Reply
>>150925
Не нашёл другого поста про машинное обучение кроме этого, поэтому вкатываюсь сюда. Кто-нибудь упарывается контестами в kaggle? Есть ли какой-то смысл попытаться попасть в 25% / 10% в каком-нибудь контесте?

Натыкался случайно на людей в linkedIn'е, которые указывали, мол, "Был в top 10% в таком-то соревновании", но не уверен, относились ли соревнования к той эпохе, когда там еле-еле набиралось 200 человек, или к той, когда, как сейчас, 6000 тысяч участников, половина из которых отправила baseline'с форума и не может / не хочет продвинуться дальше.
>> No.151902 Reply
>>151900
Оставь почту, пожалуйста. Я стесняюсь тут >.<
>> No.151903 Reply
>>151902
Меня устраивает формат анонимного форума.
>> No.151932 Reply
File: 0049.png
Png, 138.34 KB, 645×860
edit Find source with google Find source with iqdb
0049.png
File: Barskiy-A.B.-Нейр...
Pdf, 4.08 KB, 380×580
Barskiy-A.B.-Нейронные-сети.pdf

Недавно пилил на эту тему видео в рамках производственной практики
>> No.151945 Reply
>>151932
Видео в тред, собственно
>> No.151960 Reply
File: du_k_l_swamy_m_n_s_neural_networks_and_statisti(1).pdf
Pdf, 11.14 KB, 454×683 - Click the image to get file
du_k_l_swamy_m_n_s_neural_networks_and_statisti(1).pdf
>>150925
Какая-то могучая книжка по (неглубоким) сетям.
>> No.151971 Reply
>>151901
Может года два назад у всех была мания при найме смотреть на профили в kaggle, вроде успокоились.
Разница в точности моделей между 25% и 10% составляет меньше десятой процента, у топов же всё и то меньше. Сейчас это скорее такой показатель, что ты что-то вообще по теме делал.
>> No.151973 Reply
>>150925
http://kldavenport.com/a-wild-dataset-has-appeared-now-what/

iPython notebook со всяким explanotory анализом, что нужно сделать с датасетом, когда впервые его видишь
>> No.162498 Reply
А кто-нибудь работал с ограниченными машинами Больцмана? По ним вообще есть инфа на русском языке?
>> No.162535 Reply
File: Charles_M_Grinste...
Jpg, 138.79 KB, 554×837
edit Find source with google Find source with iqdb
Charles_M_Grinstead_J_Laurie_Snell-Introduction_to.jpg
File: Charles_M_Grinste...
Png, 49.12 KB, 556×859
edit Find source with google Find source with iqdb
Charles_M_Grinstead_J_Laurie_Snell-Introduction_to.png
File: Charles_M_Grinste...
Png, 40.47 KB, 556×860
edit Find source with google Find source with iqdb
Charles_M_Grinstead_J_Laurie_Snell-Introduction_to.png
File: Charles_M_Grinste...
Png, 60.36 KB, 555×858
edit Find source with google Find source with iqdb
Charles_M_Grinstead_J_Laurie_Snell-Introduction_to.png

>>150925
> спойлер
Самые что ни на есть основы статистики:
«Introduction to Probability» (Charles M. Grinstead, J. Laurie Snell).
Зайти на www.booksee.org и скачать тот файл, что весит:
2 848 065 байт.

Книга 1999 года издания и файлов с ней много.

Авторы не выписывают формулы, а бросают монетки, дротики и иголки — и так 520 страниц.
>> No.162536 Reply
File: Doing-Bayesian-Da...
Png, 62.55 KB, 718×814
edit Find source with google Find source with iqdb
Doing-Bayesian-Data-Analysis-1.png
File: Doing-Bayesian-Da...
Png, 37.07 KB, 620×827
edit Find source with google Find source with iqdb
Doing-Bayesian-Data-Analysis.png
File: Statistics-in-a-N...
Png, 50.05 KB, 536×808
edit Find source with google Find source with iqdb
Statistics-in-a-Nutshell-1.png
File: Statistics-in-a-N...
Png, 44.65 KB, 535×804
edit Find source with google Find source with iqdb
Statistics-in-a-Nutshell.png

>>162535
«Doing Bayesian Data Analysis» (John K. Kruschke) и «Statistics in a Nutshell» (Sarah Boslaugh, Paul Watters).


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]