Анон, я не могу понять работу нейрона и в чем смысл нейросетей, можешь ли ты на пальцах объяснить нейросеть из пары-тройки нейронов чтоб я мог вот прямо сейчас написать нейросеть на том же c/java/c++/python/etc.?
>>140181844 Я так понимаю эти штуки заменяют собой сложные алгоритмы, допустим алгоритм распознавания текста. При достаточном количестве итераций сеть будет определять буквы без или почти без ошибок. Вот я не понимаю как это работает, потому и интересуюсь.
>>140180741 (OP) Главная прелесть нейросетей в том, что им не нужны чёткие алгоритмы, она перестраивает связи между нейронами сама, поэтому тренируют, а не программируют. Обычно работа происходит с первым и последним слоем сети - по сути с потоком входных и выходных данных. Всё, что происходит внутри сети остаётся магией даже для самого программиста.
>>140184354 Что понимать? Ты, как программист нейросети, по сути создаёшь мозг, который потом дрессируешь выполнять определённые задачи. Именно дрессируешь, а не программируешь.
>>140184032 >почему раньше нельзя было такой написать Проблема в вычислительной сложности, проще сказать, что только сейчас железо доросло. По сути, нейронная сеть - сверхсложная композиция линейных функций.
Чо вы за хуйню несёте? Оп, не слушай даунов. Вот недавно была приложуха в гугле(от каких-то обычных кодеров), которая картинки через НС перерисовывала. Как блять ты это НАТРЕНИРУЕШЬ? Оп, тебя дурят короче, или просто тупори отвечают, гугли приложения и инфу о них
>>140184825 Не знаю как это натренировано, но прекрасно понимаю принцип построения таких картин. Сеть просто дорисовывает картинку ища на ней части тех картинок, которые в нее вкинули как ассоциации, которые нужно искать. Обычно там всякие животные, однако если закинуть туда кишки кровь распидорасило, то на выходе будет крипота.
>>140184825 >Так получилось, что в университете тема нейросетей успешно прошла мимо моей специальности, несмотря на огромный интерес с моей стороны. ТЕМА ПРОШЛА МИМО @ НАПИШУ СТАТЬЮ НА ХАБР
>>140184991 Блять, ты внатуре уебан. Пишешь "я нихуя не понимаю", я тебе поясняю что делать куда гуглить в ответ "блять, я не знаю как это тренируют, но я знаю как нейросеть ресует" сажи на хуй, сажи скрываю
>>140185708 Ну хорошо, раз ты такой обидчивый - я тебе разжую. Автор этой статьи, некорректно описывает построение и принципы инс. Так же, как и большинство других, допуская множество ошибок. Как правило, все эти статьи начинаются с чего то подобного "Я ничего не знаю, но вот вам статья от меня"
>>140187351 Бла бла бла, "цифра" с 0 и 1 нам не катит, давайте изобретем "аналог", где у входа больше значений чем 2, а потом накатим туда ту же самую логику. И ни слова о том, как проходит сигнал, как изменяются весы итд. Суть не в том, чтобы слепить калькулятор входов с компараторами.
>>140187619 Потому что тема сложная и такое нельзя объяснить на 2 пальцах. Давай, распиши ядерную физику на пальцах для первокласника, который вообще нихуя не знает. Вот и оп такой же хуй.
>>140187755 Что тема сложная, это понятно. Можно же с чего-то начать? А любое самое сложное явление можно описать простыми словами. Надобно подумать, как это сделать, конечно.
>>140187903 я же скинул ссылку на гиктаймс, там очень простыми словами и наглядно. И вот только что скинул ссылку на другую статью, где математический аппарат раскрыт полностью. Ты можешь прочитать первую, потом прочитать вторую и непонятные моменты гуглить
>>140187789 Я не оп. У меня есть некоторое представление и мне достаточно. Разбирать уравнения не уперлось. И вот это и объясни оп-хую. Что там не всё так просто и придется знать овердохуя всего, а не тупо закодить hello world.
>>140188121 Затем что я давно уже забыл всю эту математику, а без неё там делать нехуй. В то же время я имею представление как оно работает, но образно. Мне большего и не надо, я не погромист.
>>140188388 Никто не мешает в качестве веса ребёр задавать функции. Просто структура данных будет частным случаем графа и соответственно может быть описана как граф.
>>140188650 что за Аитое вылезло у тебя? И почему у тебя какое то обратное распространение идёт? И как же не над выходом, если ты уже сам на выходное значение функцию ебашишь? Ты почему меня наебать пытаешься?
>>140188650 что за Аитое вылезло у тебя? И почему у тебя какое то обратное распространение идёт? И как же не над выходом, если ты уже сам на выходное значение функцию ебашишь? Ты почему меня наебать пытаешься?
>>140188525 Обучение. Лень перечитывать. Но у него там не сказано вроде, что суть в настройке весов. Если какой-то вход или комбинация приводят к фэйлу, их вес понижается. И наоборот. Удачные комбинации приобретают вес. Опыт и есть вот эта калибровка. Если в машинной логике есть четкое значение, при таких то входах такой-то результат, то тут несколько иначе. Как тот же акинатор, который переваривает неправильные ответы, просто снижая их вес. Он не делает тупо выборку по значениям, а считает вероятность с которой подходят персонажи которых он знает. И предлагает наиболее подходящего. Короче, мне не понравилась статья.
>>140180741 (OP) Есть нейрон. у него куча входов, и выход. у входов есть веса, рандомно назначающиеся. Если нейрон дает слишком неверный ответ - бьют палкой. верный - кормят плюшкой. И так, пока он не станет давать верный ответ всегда - на этом обучение нейрона закончено.
С нейросетью так же, просто слоев нейронов дохуища. Лупят палкой и кормят лепешками, пока не научится выдавать верный ответ.
>>140189837 В школе заболел учитель физики. Вместо него прислали батюшку. Начался урок. - Здравствуйте отроки,- говорит поп,- скажите мне какое физическое тело имеет обыкновение стоять? Вовочка тянет руку:"Хуй!"^ - Почему ты так думаешь? - Если он встал, то его трудно опять уложить. - Хорошо, отроки, тогда какое физическое тело имеет обыкновение не стоять? Вовочка тянет руку:"Хуй!" - Обоснуй! - Если он не стоит, то его и домкратом не поднимешь. - Ладно, тогда какое физическое тело имеет обыкновение двигаться? Вовочка тянет руку... - Подожди сын мой, этак ты всю науку к хуям сведешь..
>>140189837 Это я понял. Как, допустим, научить сеть отличать Ф от И? Что должно быть на входе и сколько должно быть нейронов? Как потом скорректировать вес, по какой формуле? Это если не говорить про сеть, которая не знает правильных ответов и просто классифицирует входные данные.
>>140190070 >которая не знает правильных ответов Ответы она знает, потому что без обучения хуй ты что получишь. Некоторая комбинация входов и весов будет выдавать выход означающий твою букву. Скармливают ей кучу букв Ф в режиме обучения, она запоминает. Потом такая же херня с И. В работе она будет уже распознавать что там прилетело на входы.
>>140190629 Да я понял сам принцип обучения, он охуенно простой. Понял что меняются веса нейронов, можно менять коэффициент обучения в зависимости от точности результатов. В моем примере я хочу чтоб сеть распознавала буквы, в каком виде эти буквы нужно скармливать сети? Я просто не понимаю за что тут можно зацепиться, допустим есть картинки с буквами, какие входы должны быть? Или, блять, делить картинку на пиксели и количество пикселей=количество нейронов? Это я могу понять.
>>140190070 Если выдает, что Ф и И - одно и то же, лупить по яйцам. Только так. И когда станет выдавать всегда, что Ф не равно И - тогда кормить плюшкой.
>>140190869 >в каком виде эти буквы нужно скармливать Зависит от задачи и датчика. Текст ты распознаешь, звук или графику.
>есть картинки с буквами Матрица пикселей заведенная на входы. А дальше жопа. Если у тебя нарезано по букве, отцентровано, чернобелое итд, то тупо лепишь пачку нейронов по 1 на букву. Если же может быть повернуто итд, там уже огород целый.
>>140190869 Есть матричное поле, размера например NxN.
Тебе надо различить Ф и И, это 2 знака. Значит надо 3 нейрона - два сканируют матричное поле и заключают, что это за нахуй на него свалился. Третий нейрон сканирует выходы двух нейтронов, и говорит, различны ли эти Ф и И, или одинаковы. Все, сделали, начинаем их хуярить палкой и кормить - через сотенку итераций эта хуйня будет легко определять, что Ф сука отличается от И.
>>140191442 Но это если функция выхода нейтрона после сумматора - двоичная. С несколькими значениями и более сложной функций можно обойтись одним нейронов на все символы, но это не выгодно - проще нахуярить миллиард нейронов одинаковых.
>>140191172 Ты мне говоришь одно и то же. Ладно, пусть пока будет сеть из 256 нейронов для изображения размером 16х16. Тогда у нас есть входной нейрон и нейрон с координатами пикселя. Далее нужен еще ряд нейронов чтоб скомбинировать пиксели в нужном порядке и составить из них букву. >>140191411 Я правильно про 256 нейронов-пикселей сказал или ты что-то другое имел в виду говоря про матрицы? >>140191442 Это будет очень медленные два нейрона.
Ладно, с картинкой я вроде разобрался, а теперь как с текстом быть? Как кормить сеть текстом?
>>140191881 >Нейрон с 16х16 входами нужен Тупо 256 входов? Я совсем запутался. Если сеть меняет веса нейронов, а один нейрон будет отвечать за всё, что поступает на это поле, то как тут менять вес? Хуета какая-то получается.
>>140191704>>140191704 >Я правильно про 256 нейронов-пикселей 256 входов у каждого нейрона(33 на русский). По сути, каждый будет искать свою букву и говорить вот она. Если по его входам прошло, он выдал сигнал. Если нет, то молчит и спит. Можно конечно и на 1 взвалить всё, но он охуеет, а ты тем более.
>Как кормить сеть текстом? А всё так же, только в начале придется научить её искать буквы. Двигается сверху слева на 1 вертикальный ряд и смотрит чтобы было пятно окруженное пустотой, которая фон. Дойдя до правого края опускается на 1 ниже и ебашит влево. Ну или гугли оптимизацию поиска, там есть какие-то уравнения ускоряющие в разы.
>>140192113 >256 входов у каждого нейрона(33 на русский). По сути, каждый будет искать свою букву и говорить вот она. Если по его входам прошло, он выдал сигнал. Если нет, то молчит и спит. Можно конечно и на 1 взвалить всё, но он охуеет, а ты тем более. Получается нейрон это тупо if else с жестким условием соответствия? >А всё так же, только в начале придется научить её искать буквы. Я имел ввиду именно текст, а не картинку с текстом.
>>140192084 По нейрону на каждый символ. Один нейрон - ищет Ф, второй ищет И. Если нейрон выдает, Ф - это не Ф - хуяришь его палкой и трясешь веса. И так, пока не будет стабильно выдавать Ф. С И аналогично.
Один нейрон можно натренеровать только на 1 стимул.
Чтобы распознать 33 не вращающихся символа, надо 33 нейрона, например. У каждого по 16х16 ходов, если ты такое поле используешь. И вот все 33 нейрона тренируешь.
>>140192258 Не с жестким, он анализирует всю картину и говорит, да/нет именно по той информации на которую он надрочен. Каким именно будет порог тоже зависит от обучения
У тебя куча входов. Функция выбрана двоичная - иф (сумма входов такая-то) ду (сри ес) елсе (ноу)
Только у нейрона в процессе обучения можно трясти входы.
Суть нейросетей не в том, что нейроны программировать, а в том, что их можно нахуярить пиздецлион штук в несколько слоёв, а дальше просто обучать их, чтобы выдавали верный ответ.
И 33 это говно. Если делать нормальное, то оно должно не букву искать, а признаки. К примеру кружки, палочки, их взаимное расположение. Далее слой который из этих данных собирает букву. К примеру на 1 слое у тебя сдетектилось 2 палки параллельных и наклонная. И оно скажет, это похоже И. А если нашло палку и 2 кружка, то это похоже Ф. Иди в гугл блять и учи с 0 всё. Это не тема для 2 пальцев. Есть orc, есть распознавалки сабов, графики, цопеи даже музыки(только написаны пидорасами и не работают). Изучай.
>>140192465 Да, верно говорит. Так можно эти 33 символа распозновать в любом виде, и нейронов понадобится меньше. Причем не обязательно их даже специально тренировать признаки распознавать - она их сама себе может насоздавать в процессе обучения, достаточно просто контролировать результат итоговый - несли не Ф или И пришло на выход, лупишь палкой.
>>140180741 (OP) Ответ: Так блять, машинленер уровня /b в треде - пишу пост и съебываю нахуй из офиса.
Анон >>140184314 - верно говорил. Есть куча нейронов, расположенных слоями. Взаимодействуют с выходным слоем и входным. Что внутри - блекбокс. Сначала в простейшем случае (это называется обучение с учителем") сначала сетку обучают, потом она работает. Обучают по принципу "на вход картинку с буквой "Ф", на выходе получают одну из букв алфавита. Если на выходе "ф" - то сетка молодец, запомни коэфиценты. Если нет, - то хуйня, давай по новой."
Как обрабатывают изображение изначально? При том что это пиксели ебаные? Много способов. Чаще всего разбивают на какие-то квадрата NxN пикселей и анализируют их. Например, если половина одного цвета, половина другого, то это "тут у нас граница". "Граница" подается на вход следующему слою и если "границы составляют замкнутый контур, то "это замкнутая хуйня/фигура"
берем кучу тупых солдат срочников. показываем им картинку с буквой. делим ее на условные пиксели, только здоровые, шоб видно было издалека - на квадраты. каждому солдату поручаем следить за конкретным квадратом присваиваем номер, типа, как в морском бое: б5 - определяющий положение квадрата на картинке. показываем солдатам картинку с буквой и отправляем их всех доложить о результатах солдатам второго слоя: квадрат черный или белый. солдаты второго слоя представляют буквы алфавита. к каждому из них подходит солдат первого слоя и докладывает: я нейрон такой-то, у меня пиксель черный. солдат второго слоя записывает результат в блокнотик и принимает остальные доклады. после чего проверяет свои записи и принимает решение: показывали солдатам букву за которую отвечает он или не нет. а тренировка заключается в том, чтобы этот солдат мог выделить группу солдат первого уровня при чьих положительных докладах чаще всего оказывается, что буква была его. чтобы этого добиться солдата второго слоя при неправильном ответе надо пиздить по голове, а за правильный - хвалить. со временем в его блокноте появятся пометки напротив каждого солдата первого уровня примерно выражающие шанс(вес), что буква его, если солдат первого уровня доложил о черном или белом пикселе.
>>140200104 В простейшем случае нейрон жрёт кучу данных, и выдает, попадает ли это под то, что он обучен, или нет. В конце концов его можно натренировать так, что эта сука станет почти безошибочно выфильровывать то, на что обучена.
Нейроны не оценивают вес входа, они оценивают совокупность принятых на входы данных и выдают ответ, ответ зависит от вида выходной функции - если нейтрон бинарный, то просто выдает "да/нет", а так могут быть варианты.
ОП, матан шаришь хоть чуть-чуть? Тогда обучение нейросети - суть многомерная минимизация ошибки выхода и входа на обучающем множестве, как функции весов
>>140201779 >Пока что нет никакой неизвестности, поведение нейрона предсказуемо, почему говорят о неизвестности и как нейроны перестраивают связи? Неизвестность вида "блекбокс", слои с нейронами сами творят что-то, что приводит к результату в процессе обучения.
Нейроны перестраивают связи в процессе обучения, связь определяется весами входов нейронов - если нейрону похуй на вход, к которому прикручен другой нейрон, то это типа "нет связи", а если не очень похуй, то "связь с таким-то весом" а если воообще не похуй и нейрон вообще готов отсосать у другого нейрона , то это "оч сильная связь".
После обучения эти связи просто остаются фиксированными, если сеть не умеет самообучаться.