[Ответить в тред] Ответить в тред

01/08/16 - Вернули возможность создавать юзердоски
09/07/16 - Новое API для капчи - внимание разработчикам приложений
03/04/16 - Набор в модераторы 03.04 по 8.04


[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 246 | 24 | 37
Назад Вниз Каталог Обновить

Аноним 04/08/16 Чтв 15:53:29  133318543  
14703152100890.jpg (573Кб, 1920x1080)
14703152101011.png (0Кб, 76x36)
14703152101012.png (0Кб, 75x33)
ГЕНЕТИЧЕСКИЕ ЗАБАВЫ
Возможно кто-то помнит тред, где я накидал простенький алгоритм для печатания строки текста генетическим алгоритмом.
Все отлично работало, но был важный нюанс, который имеется в реальных живых организмах, но не имелся в моем алгоритме.
А именно, ДНК-КОД НЕ ПРЕДСТАВЛЯЕТ ЦЕННОСТИ САМ ПО СЕБЕ. А у меня представлял.
Мой "днк-код" был искомой строкой текста, каждый "ген" - буквой. Каждая буква, каждый ген были ценны сами по себе, потому что это и был ответ.
Но ИРЛ все не так. ДНК ничего не значит без механизма сборки, использования. ДНК должен влиять на что-то, но сам по себе он ничто.

Еще, когда-то давно я накидал крайне простой и тупой метод взлома капчи пикрелейтед по маскам символов. Процент распознавания был около 50% на всю капчу. То бишь, каждый символ распознавался с довольно высокой вероятностью, но из-за накопления ошибок на каждом символе вся капча отгадывалась верно лишь через раз.
А код процентов встречаемости символов хранился в небольших файлах.

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

Честно говоря, я не уверен, что все получится. Возможно, прогресса вообще не будет. А может и получится имба. Я не знаю.
Посмотрим, че.
Аноним 04/08/16 Чтв 16:06:40  133319407
14703160002300.png (71Кб, 970x783)
Так, смог запустить древний скрипт распознавания.
Процент 50%, время - 3 секунды.
Это 1200 файлах.
Для успешной эволюции надо прикрутить многопоток, чтобы сократить время распознавания. Ибо чем быстрее оно будет, тем быстрее будет эволюция.
Аноним 04/08/16 Чтв 16:07:28  133319453
>>133318543 (OP)
>я лишь запущу генетический алгоритм на файле "днк" кода распознавания
не уверен что понял тебя
Аноним 04/08/16 Чтв 16:11:24  133319744
>>133319453
Вот фрагмент кода. Я даже уже не помню что значат конкретные символы, но суть в том, что там запоминается вероятность того, что каждый пиксель картинки будет цветным для каждой цифры.
Я просто запущу генетическое изменение этого файла, таким образом, попробую обучить алгоритм без наличия обучающих картинок.

0|0|0|0.0014903129657228018
0|0|1|0.007451564828614009
0|0|2|0.038002980625931444
0|0|3|0.26453055141579734
0|0|4|0.657973174366617
0|0|5|0.8934426229508197
0|0|6|0.9746646795827124
0|0|7|0.9694485842026825
0|0|8|0.879284649776453
0|0|9|0.30327868852459017
0|0|10|0.09612518628912071
0|0|11|0.012667660208643815
0|0|12|0.0022354694485842027
0|0|13|0.0
0|0|14|0.0
0|0|15|0.0
0|0|16|0.0
0|0|17|0.0
0|0|18|0.0
0|0|19|0.0
0|1|0|0.004470938897168405
0|1|1|0.041728763040238454
0|1|2|0.4150521609538003
0|1|3|0.8204172876304023
0|1|4|0.6885245901639344
0|1|5|0.32488822652757077
0|1|6|0.14232488822652756
0|1|7|0.11847988077496274
0|1|8|0.5409836065573771
0|1|9|0.9061102831594635
0|1|10|0.6400894187779433
0|1|11|0.10581222056631892
0|1|12|0.00894187779433681
0|1|13|0.0014903129657228018
0|1|14|0.0
0|1|15|0.0
0|1|16|0.0
0|1|17|0.0
0|1|18|0.0
0|1|19|0.0
0|2|0|0.02459016393442623
Аноним 04/08/16 Чтв 16:15:47  133320052
>>133319744
А, все, вспомнил.
0|1|11|0.10581222056631892
Походу первое число - цифра.
Потом 2 координаты x и y. Затем вероятность.
Буду менять ген-алгоритмом только последнее.
Вообщем, все норм.
В файле 6000 строк.
В принципе, небольшой объем ДНК.
Но эволюция будет происходить значительно, в тысячи раз более медленно, чем при набирании текста, ибо фитнесс-функция теперь гораздо более тяжелая, надо будет прогонять распознавания тысячи капч на каждом шаге эволюции для каждой особи.
Аноним 04/08/16 Чтв 16:26:43  133320765
14703172035780.png (97Кб, 756x818)
Епт, ананасы, у меня тут очень странное дерьмо
Аноним 04/08/16 Чтв 16:36:20  133321314
Объясни еще раз, по какому алгоритму ты написал ДНК код?
Аноним 04/08/16 Чтв 16:37:05  133321362
14703178255480.png (97Кб, 756x818)
14703178255501.png (98Кб, 841x804)
14703178255522.png (62Кб, 1240x519)
>>133320765
Ну охуеть, лол.
Я оказывается был полным дебилом, когда тестил свой же алгоритм в прошлый раз.
Дело в том, что у меня всего есть 4176 уже распознанных капч, которые я могу использовать в алгоритме.
В прошлый раз я разделил их на 2 части - обучающую выборку и тестовую.

Но в моем разделении был очень неочевидный нюанс.
А именно, имена у файлов вида "0000_405601770". Где первые 4 символа - текст на капче, а далее рандомное число, чтобы имена не совпадали.

Так вот. Я в прошлый раз разделил капчи на 2 части, ОТСОРТИРОВАВ ИХ ПО ИМЕНИ.
Какой же я эпический долбоеб.
В итоге я получил, что алгоритм обучается на первых 5-и цифрах, а тестится на последних 5-и. В итоге ожидаемый рейт в 50% и получился.

Когда я отсортировал их по дате и разделил так, что в обоих выборках были капчи со всеми возможными цифрами я получил гораздо более высокий рейт.
В первом тесте (обучающая выборка 3к капч, тестовая 1к) - рейт аж 97%. Пиздос.
Во втором наоборот (обучающая 1к, тестовая 3к) рейт 76%.


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

Охуеть
Аноним 04/08/16 Чтв 16:39:34  133321528
Я один тут ощущаю себя дауном?
Аноним 04/08/16 Чтв 16:40:56  133321622
>>133321528
Нет, просто ОП не хочет пояснять. Поясни, ОП!
Аноним 04/08/16 Чтв 16:44:25  133321843
14703182654010.gif (7Кб, 29x25)
>>133318543 (OP)
Туалетный, когда на пд зайдёшь?
Аноним 04/08/16 Чтв 16:45:16  133321897
>>133321314
>>133321528
Есть капча, надо распознать.
Капча очень простая, шум минимален и примитивен, шрифт один, искажений нет, положение цифр примерно одинаковое, наплывов нет. Из сложностей только наклон.
Тут отлично подойдут маски символов.
Для начала, разделяем капчу на 4 части, чтобы распознавать каждую цифру отдельно.
Допустим, мы получим для каждой цифры рабочую картинку разрешением 20x30 пикселей, скажем. Всего 600 точек. Мы прогоним тысячу капч через алгоритм и узнаем СРЕДНЮЮ ВЕРОЯТНОСТЬ ТОГО, ЧТО ДЛЯ ДАННОЙ ЦИФРЫ В ЭТОЙ ТОЧКЕ БУДЕТ ЗАКРАШЕННЫЙ ПИКСЕЛЬ.
Алгоритм обучился.

Затем берем тестовую капчу, алгоритм берет первую цифру, смотрит где закрашенные пиксели и вычисляет, для какой цифры совпадают вероятности в точках.

Для обучения алгоритма нужны капчи, чем больше, тем лучше.
Фишка в том, что генетическим алгоритмом можно обучить алгоритм распознавания НЕ ИМЕЯ КАПЧ.
В этом вся магия и должна быть.
Аноним 04/08/16 Чтв 16:48:14  133322091
>>133321897
А в какой среде ты все это кодишь?
Аноним 04/08/16 Чтв 16:57:07  133322645
>>133322091
>А в какой среде ты все это кодишь?
Там же видно все, консольное Java-приложение.
Аноним 04/08/16 Чтв 17:05:47  133323091
оп, ты здесь ещё?
буду мониторить ответ (ну, подписался всмысле)
Аноним 04/08/16 Чтв 17:14:30  133323531
>>133323091
Я тут. Но сейчас возьму паузу на полчасика, есть пара дел, которые надо сделать. Потом попробую прикрутить генетический алгоритм к распознавалке капчи.
Вообще, моя изначальная цель (улучшить качество) больше не имеет смысла. У меня итак очень высокий рейт, на 3к капч уже 97%, что просто ПИЗДЕЦ КАК ДОХУИЩА. Это вероятность на символ выше 99%. А я даже не нейтрализовывал наклоны.
Теперь цель именно тестануть генетический алгоритм в новой ипостаси.
Аноним 04/08/16 Чтв 17:15:37  133323595
Поясните нафане,чтоэта за хуита у вас
Аноним 04/08/16 Чтв 17:19:06  133323793
>>133318543 (OP)
Хуйня какаято, вон в соседнем треде мемасы постят, туда пойду
Аноним 04/08/16 Чтв 17:19:50  133323837
>>133323793
Ну и пошел нахуй,нивидишь умные люди сидятъ
Аноним 04/08/16 Чтв 17:21:04  133323917
>>133323531
так стой,объясни, я нихуя не понял за днк.
>просто запущу генетическое изменение этого файла
как ты это пилить будешь? может ты имел ввиду не генетику (ибо я не понимаю где у тебя связь с понятиями генетики, что у тебя в качестве X а что Y, ну и т.п.), а эволюцию кода, мол самосовершенствование на основе удачной выборки?
Аноним 04/08/16 Чтв 17:26:35  133324251
Оп сраный шизоид
Аноним # OP  04/08/16 Чтв 18:20:17  133327461
Оп в треде. Скоро вернусь
Аноним 04/08/16 Чтв 18:23:47  133327668
>>133323917
Аноним 04/08/16 Чтв 18:35:04  133328426
^
Аноним 04/08/16 Чтв 18:40:25  133328793
>СРЕДНЮЮ ВЕРОЯТНОСТЬ ТОГО, ЧТО ДЛЯ ДАННОЙ ЦИФРЫ В ЭТОЙ ТОЧКЕ БУДЕТ ЗАКРАШЕННЫЙ ПИКСЕЛЬ.
>рейт аж 97%. Пиздос
>Капча очень простая, шум минимален и примитивен, шрифт один, искажений нет, положение цифр примерно одинаковое, наплывов нет. Из сложностей только наклон.
Наверняка этот алгоритм даже на хуекапче соснет.
Аноним 04/08/16 Чтв 18:58:01  133329944
>>133318543 (OP)
>распознавание капчи
А нейпросеть заюзать религия не позволяет?
Аноним 04/08/16 Чтв 19:21:11  133331495
ОП, ты где?
Аноним # OP  04/08/16 Чтв 19:25:48  133331811
Мои дела оказались дольше, чем я думал, но вечером займусь тредом.
Аноним 04/08/16 Чтв 19:29:16  133332046
Ебанутый ОП, запили нейронную сеть, которая будет новой бордой.
Аноним 04/08/16 Чтв 19:37:11  133332627
>>133328793
Ну вообще нет, лол. Шрифт одинаковый, искажений нет, шума нет.
В хуекапче главная сложность - разделение символов, ибо есть наплывы и повороты.
Но распознавание хуекапчи - не тема данного треда.

Здесь стоит цель обучить распознавалку генетическим алгоритмом.
Аноним 04/08/16 Чтв 19:37:59  133332688
Можно и нейронку сделать, но это, опять же, не тема данного треда.
Аноним 04/08/16 Чтв 19:46:13  133333652
ОП серьёзно нужно погуглить терминологию которую он юзает.
Аноним 04/08/16 Чтв 20:20:49  133335647
Бамп
Аноним 04/08/16 Чтв 20:28:21  133336058
Где оп
Аноним 04/08/16 Чтв 20:28:37  133336076
Оооп
Аноним # OP  04/08/16 Чтв 20:42:45  133336981
Да я тут
Аноним 04/08/16 Чтв 20:53:23  133337607
Распиши модель генетического алгоритма в контексте механизма подбора капчи, я не понимат
Аноним 04/08/16 Чтв 20:55:53  133337783
>>133337607
Два чая.
Как генетика в целом работает - понятно, а в контексте подбора капчи как-то не очень. Если ты собираешься просто несколько раз обучать прогоном одной и той же капчи, так и напиши.
Аноним 04/08/16 Чтв 21:32:07  133340314
Думали тред утонул? А вот и нихуя
Аноним 04/08/16 Чтв 21:33:02  133340386
Все распишу, аноны, ближе к ночи все будет
Аноним 04/08/16 Чтв 21:42:14  133341051
>>133337607
Что непонятного? Все просто же.
Конфиг алгоритма подбора хранится в файле, где для каждого пикселя задана вероятность его нахождения в черном цвете.
Генетический алгоритм использует этот файл как ДНК, 1 пиксель - 1 ген. Мутацией значение вероятности меняется на некоторую величину.
В итоге алгоритм обучается.
Аноним 04/08/16 Чтв 21:42:54  133341099
>>133337783
>обучать прогоном одной и той же капчи
Это вообще как?
Аноним 04/08/16 Чтв 21:44:43  133341243
>>133341051
>В итоге алгоритм будет подгоняться под значения тестирующей капчи.
Аноним 04/08/16 Чтв 21:56:02  133342135
>>133341243
Но ведь я обучаю на одной выборке, а тестирую-то блядь на другой. Я по-твоему совсем тупой что ле?
Аноним 04/08/16 Чтв 21:59:52  133342433
>>133341243
Ну в самом процессе эволюции ясен хуй алгоритм будет поддрачиваться под конкретную выборку.
Но затем тестироваться будет на другой, про которую он ничего не знает.
Ну а так-как алгоритм все же не отпизды написан, он должен будет хорошо отработать и на капчах, которых доселе не видел.
Аноним 04/08/16 Чтв 22:24:29  133344296
Бамп
Аноним 04/08/16 Чтв 22:27:52  133344539
>>133342135
>>133342433
Итак, как я понял: у тебя есть 4к капч.
Ты берешь 3к капч с заранее известными ответами.
Натравливаешь свой алгоритм на эти капчи, допустим 500 раз(дабы получить усредненные значения процентов на каждый пиксель в каждой цифре каждой капчи).
Эта информация - считается за родительскую.
Далее генерируешь из родительской информации несколько новых потомков, с рандомными изменениями.
Натравливаешь на (3к тренирующих капч|1к тестовых капч), выбираешь лучшего потомка.
Повторяешь пока не заебешься\не достигнешь нужного улучшения с момента генерации.

Я правильно расписал?
Тогда вопрос про натравливание 3к тренирующих капч или 1к тестовых капч?
Аноним 04/08/16 Чтв 22:58:02  133346733
Аноним 04/08/16 Чтв 23:02:46  133347050
>>133344539
Ну почти.
Вопрос о том, брать ли за изначальную популяцию обученную классическим методом днк больше не стоит, т.к. я исправил свою прошлую ошибку и теперь получил высокий рейт и без генетического алгоритма.
Короче.
1. Генерю отпизды исходный файл со значениями вероятностей пикселей (или беру файл, где везде нули).
2. Натравливаю на него ген-алгоритм, через N поколений получаю высокий рейт.


Сейчас же у меня обучение классическое, без ген-алгоритма:
1. Натравливаю алгоритм высчитывания вероятностей пикселей на 3к капч. Получаю файл "днк", "мозгов" и т.п. со значениями вероятностей пикселей.
2. Тестю это говно на оставшихся 1к капчах, которые не участвовали в обучении (для них не высчитывались вероятности).
Аноним 04/08/16 Чтв 23:04:36  133347179
Вообще могу на гитхаб залить, если кому-то интересен сам код.
Аноним 04/08/16 Чтв 23:07:12  133347373
>>133347050
>Натравливаю на него ген-алгоритм
Но ген алгоритм должен с чем то сравнивать свои ответы (истина\ложь), т.е. юзаются те же 3к капч?

>Сейчас же у меня
Вроде весь тред был о том, что ты пилишь ген-алгоритм...

>на гитхаб залить
Много кода? Скок писал?
Аноним 04/08/16 Чтв 23:11:45  133347699
>>133347373
И таки почему не заюзать уже готовые вероятности пикселей дабы приблизить начальную генерацию поколений к идеальной?
Аноним 04/08/16 Чтв 23:11:48  133347702
>>133347373
>Но ген алгоритм должен с чем то сравнивать свои ответы (истина\ложь), т.е. юзаются те же 3к капч?
Что блядь за "те же"?
Ген-алгоритм будет ебать одну выборку, когда доебет и достигнет на ней высокого рейта, я тестану полученную днк на другой выборке.
>Много кода? Скок писал?
Когда много, писал давно, несколько лет назад. В основном там говнокод, но мне сейчас поебать, я взял этот проект капчей, ибо мне неохота писать с нуля нейронку, когда для теста ген-алгоритма на реальной задаче подходит и этот проект капчей.
Аноним 04/08/16 Чтв 23:15:47  133347979
>>133347699
> почему не заюзать уже готовые вероятности пикселей дабы приблизить начальную генерацию поколений к идеальной?
Изначально и был такой план, изначальный рейт был 50% успешных распознаваний.
Но затем я обнаружил, что использовал для обучения и для теста некорректные выборки, где преобладали какие-то конкретные цифры в капчах и алгоритм хорошо обучался одним цифрам, но плохо другим.
Затем я взял корректные выборки, где все цифры представлены равномерно и получил рейт 97% успешных распознаваний при обучении на 3к капчах и тесте на 1к.
Если взять для обучения лишь 1к, а тестить на 3к, то рейт 76%
Короче, при рейте 97% я не вижу смысла пихать на него ген-алгоритм, там итак все идеально. А пара лишних процентов роли не играют.

Поэтому, я хочу скормить ген-алгоритму отпизды сгенеренный или пустой файл, чтобы увидеть, сможет ли ген-алгоритм, достигнуть хорошего рейта.
Аноним 04/08/16 Чтв 23:17:19  133348086
Что за заумную херню вы тут разгоняете?
Есть адаптированная версия для тупых?
Аноним 04/08/16 Чтв 23:18:33  133348163
>>133347373
>Вроде весь тред был о том, что ты пилишь ген-алгоритм...
Сейчас прогон 1к капч через распознавалку занимает 3 секунды, это слишком много.
Сейчас занят написанием многопоточного теста, чтобы уменьшить время до долей секунды.
Затем уже прикручу ген-алгоритм и посмотрю, что получится.
Аноним 04/08/16 Чтв 23:19:03  133348201
>>133347702
>будет ебать одну выборку
Вот это я и хотел услышать.

>Что блядь за "те же"?
В том плане что если бы ты взял уже посчитанные вероятности(те что процент распознавания 97%) на половине капч, и потом, на той же выборке капч, ебал бы ген-алгоритмом.Что ты и расписал в последнем посте.

К чему был и мой комментарий:
>>133337783
>собираешься просто несколько раз обучать прогоном одной и той же капчи
имея ввиду выборку.
Аноним 04/08/16 Чтв 23:20:31  133348308
>>133348201
В общем под
>те же
я имел ввиду случай, когда ты уже просчитанные проценты запихиваешь под ген-алгоритм. Но ты этого делать не хочешь. Я понял.
Хотя можно было бы потыкаться с теми 50% данными.
Аноним 04/08/16 Чтв 23:22:22  133348446
>>133348086
Есть капча.
Оп программно её распознает.
Оп сначала неправильно разделил обучение и тест, из-за чего всё пошло по пизде и только 50% капч распознавалось.
Затем он исправил разделение и распознавание улучшилось до 97%.

Из-за изначальных 50% оп думал пилить генетический алгоритм читай обучение пк как ребенка, но немного задвинул эту идею в связи с обнаружением своей ошибки и улучшением качества распознавания до 97%.
Аноним 04/08/16 Чтв 23:24:12  133348567
>>133348163
>занимает 3 секунды
Небось картинки грузишь какими-то йоба библиотеками?
Аноним 04/08/16 Чтв 23:24:16  133348573
>>133348446
Я не задвинул эту идею, я лишь не хочу юзать в качестве начальной популяции файл с рейтом 97%, иначе это исказит смысл и суть эксперимента.
Аноним 04/08/16 Чтв 23:26:03  133348701
>>133348573
>не хочу юзать в качестве начальной популяции файл с рейтом 97%
А на 50% файл не думаешь натравить? Или ты хочешь именно с нуля начать?
Аноним 04/08/16 Чтв 23:27:03  133348774
>>133348567
import java.awt.image.;
import javax.imageio.
;
Больше ничего.
Просто там дальше препроцессинг картинок идет каждый раз (а не 1 раз перед началом, как следовало бы), да и вообще код говнявый.
Просто этот проект я писал несколько лет назад, до этого я вообще капчи не распознавал, поэтому на такие нюансы было похуй
(да и тогда цель была в распознавании 1-й капчи на сайте и время распознавания 1-й капчи очень даже быстрое).
Короче код хуевый и я сейчас пытаюсь это несколько исправить.
Аноним 04/08/16 Чтв 23:27:34  133348821
>>133348446
Ага, понятно. А как именно машина распознает цифры? Считывает пиксели, а дальше что? Выстраивает их в фигуры, подгоняет их под фигуры чисел?
Про генетический алгоритм погуглил. Нихрена себе, какие штуки, оказывается, бывают.
Аноним 04/08/16 Чтв 23:28:09  133348855
>>133348701
Ну вообще можно и на непустой файл натравить, обучить, допустим, на 100-200-500 капчах, чтобы получить некоторый начальный рейт.
Вообще посмотрим, зависит от скорости обучения, которую я пока не знаю.
Аноним 04/08/16 Чтв 23:32:57  133349202
>как именно машина распознает цифры?
>>133348821 -> >>133321897
Аноним 04/08/16 Чтв 23:34:08  133349284
>>133348774
>Просто там дальше препроцессинг картинок идет каждый раз (а не 1 раз перед началом, как следовало бы), да и вообще код говнявый.
С этим то да, проблема... Это бы и исправлял, чем многопоточность пилить.


>>133348821
На сколько я понял выше по треду, оп грубо говоря берет все возможные изображения цифры (например нуля), накладывает друг на друга и записывает в каких местах чаще всего бывают закрашенные пиксели.
Под словами берет все возможные изображения цифры я имею ввиду берет последовательно каждую капчу, разрезает на цифры и дальше уже 'накладывает'
А при распознавании, смотрит какие пиксели закрашены, смотрит какова вероятность что это именно подходящая цифра(наибольшее совпадение) и отдает наиболее вероятный результат.
Аноним 04/08/16 Чтв 23:38:33  133349610
>>133349284
>>133349202
Ага, понятно. Спасибо.
А можно ли проанализировать кучу известных картин, а затем создать универсальный шедевр, подставив на каждый пиксель цвет, который там чаще всего встречается?
Аноним 04/08/16 Чтв 23:39:26  133349678
>>133349610
Отчего бы нет? Можно.
Аноним 04/08/16 Чтв 23:40:32  133349766
>>133349678
Блин, вот же круто.
Жаль, что я гуманитарий.
Аноним 04/08/16 Чтв 23:41:07  133349813
>>133349766
Как будто гуманитарий не может осилить питон и написать нечто подобное.
Аноним 04/08/16 Чтв 23:41:50  133349875
>>133321897
>Фишка в том, что генетическим алгоритмом можно обучить алгоритм распознавания НЕ ИМЕЯ КАПЧ.
Где-то тут парадокс... Как же алгоритм будет узнавать приблизился он к ответу или нет?
Аноним 04/08/16 Чтв 23:41:56  133349884
>>133349813
А я ведь пытался.
Аноним 04/08/16 Чтв 23:43:23  133349996
Оп ведь поехавший, да?
Аноним 04/08/16 Чтв 23:43:53  133350030
>>133349884
Единственная ~проблема в этом, что размер (в пикселях) изображений наверняка будет различен. И как с этим быть...
Аноним 04/08/16 Чтв 23:44:10  133350047
>>133349996
Уёбывай в вк
Аноним 04/08/16 Чтв 23:44:39  133350081
>>133349996
Что хочет натравить ген алгоритм на пустой файл имея всего 1 жизнь в запасе и жаву как яп? Да.
А в целом задача интересная.
Аноним 04/08/16 Чтв 23:45:07  133350118
>>133350030
Хз. Разбивать картинку по секторам?
Аноним 04/08/16 Чтв 23:51:52  133350608
>>133350118
Ну такое...
Подумал о том, что можно ресайзить их под одно... хотя это будет слегка убого.
А еще, цвет пикселя есть ни что иное как 3 канала по 256 оттенков т.е. всего цветов 256^3, таким образом определение наиболее частого цвета будет... немного странным ибо будет мало совпадений и будет тяжело определить наиболее частый цвет на малой выборке.
Аноним 04/08/16 Чтв 23:55:05  133350813
>>133350608
А разве нельзя сократить число это? Я помню, на моей первой винде 2000 был режим, когда цветов оставалось всего, вроде, 256.
Аноним 05/08/16 Птн 00:11:35  133351963
>>133349610
Можно, но выйдет говнище, тупо бесформенное цветовое пятно.
Аноним 05/08/16 Птн 00:13:25  133352089
>>133351963
>универсальный шедевр
>тупо бесформенное цветовое пятно.
Ну он так и сказал.

>>133350813
Да наверн можно.
Аноним 05/08/16 Птн 00:15:57  133352244
14703453574950.jpg (51Кб, 685x567)
>>133349875
>Как же алгоритм будет узнавать приблизился он к ответу или нет?
Да, тут я уже понял, что обосрался.

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

Движусь постепенно.
Первой версией ген-алгоритма вообще был простой набор текста, сейчас вон уже к капче прикручиваю. Нейронки будут потом.

Вообще, ген-алгоритм идеально подходит туда, где проверить корректность ответа можно, но самих ответов нет.
Как ирл проверяется, можешь ли ты выжить, но готового рецепта выживания нет.
Аноним 05/08/16 Птн 00:18:15  133352392
>>133350081
>1 жизнь в запасе и жаву как яп?
Еще раз обращаю внимание, что не решаю конкретную прикладную задачу, я лишь обучаюсь, хочу наглядно все сам увидеть.
Поэтому до идеала тут далеко и я это осознаю. И не вижу в этом проблемы

Так-то понятно, что на реальных задачах надо на плюсах или сиське все писать, гонять на какой-нибудь куде, а препроцессинг должен быть произведен 1 раз в начале.
Аноним 05/08/16 Птн 00:20:09  133352497
>>133350030
>единственная ~проблема в этом, что размер (в пикселях) изображений наверняка будет различен
Тоже мне проблема. Подгонять под 1 размер и все.
Так-то, насколько я помню, на конкретно этой капче нужды в этом нет, ибо размер символов всегда одинаков, даже учитывая наклоны.
Я там режу пикчу по секторам, оставляя немного пустых пикселей по краям, вообщем, размер кусков совпадает всегда.
Аноним 05/08/16 Птн 00:22:35  133352633
>>133352244
>проверить корректность ответа
Еще раз.
Проверить корректность ответа, не сравнивая его с готовым ответом.
Вообщем когда есть ситуация, когда я какой-то хуйне скармливаю образец и она говорит мне, хорош он или нет, но идеального образца она мне дать не может.
Аноним 05/08/16 Птн 00:24:35  133352764
>>133352244
>Но по идее, это должно выстрелить на нейронках со сложными топологиями, методов обучения которых не существует.
Вот сейчас резко сложно стало.

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

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


>>133352497
Одно дело подгонять под размер капчу (которая итак одного размера), другое дело картины.
Аноним 05/08/16 Птн 00:25:14  133352805
>>133352764
Таки проебался с разметкой.
Аноним 05/08/16 Птн 01:18:05  133355942
Бамп. Пишу многопоток
Аноним 05/08/16 Птн 01:22:32  133356233
>>133355942
Эх, а вот в шарпике пишешь в функциональном стиле, а потом просто добавляешь asparallel и готово...
Аноним 05/08/16 Птн 01:25:19  133356394
>>133355942
Кстати, оп, напомни о себе: кто по жизни студент али работник, какой лвл, сколько лет прогаешь, какие языки?
Аноним 05/08/16 Птн 01:41:52  133357399
14703505128720.png (103Кб, 991x818)
14703505128741.png (92Кб, 738x812)
Написал многопоток, но он чет почти не прибавил производительности. Хз что за хуйня.
На 1 потоке 3к капч распознается за 7 секунд в среднем.
На 10 потоках - за 4.5.
На 50 - за 4.5

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

Думаю дело в диске.
По-хорошему надо 1 раз все файлы в память загрузить и дальше дрочить.
Аноним 05/08/16 Птн 01:49:52  133357935
>>133357399
>Походу ограничение в чем-то другом.
Так замерь время действий, будь то отдельно общее время на чтение с диска\гоняние 100кб.
Аноним 05/08/16 Птн 01:51:07  133358015
>>133356394
22 лвл, пидорнули из вуза, пока до осени сижу дома пинаю хуи, потом иду защищать сапоги.
Прогаю лет с 16, языки - пхп, немного жс, ява.
Аноним 05/08/16 Птн 01:52:53  133358143
>>133357935
Блин, ты прав. Чет я сам не допер тупо померить, хотел уже переписывать.
Так и сделаю.
Аноним 05/08/16 Птн 01:56:18  133358336
>>133358015
ммм... 21 лвл, планирую выкатится из вуза ибо заебался. Прогаю с ~15 курсы шарпа, могу писать на многих языках, не могу выбрать в какой углубится и вкатится на работу.

>>133358143
Я так и сделал в моей реализации, когда предполагал что вывод состояния каждые n итераций занимает много времени.

практически все посты с сагой в этом треде-кун
Аноним 05/08/16 Птн 02:16:02  133359357
14703525624270.png (4Кб, 415x95)
14703525624271.png (3Кб, 435x88)
14703525624272.png (3Кб, 406x91)
Ну охуеть теперь.
1 пик: 1 тред, 7 секунд распознавание, 5.5 чтение с диска.
2 пик: 10 тредов, 5 секунд распознавание, 41 чтение с диска.
3 пик: 2 треда, 5 секунд распознавание, 7.5 чтение с диска.

Особенно интересует 2 случай. Это вообще как? Почему общее время чтения 41 секунда? Это что, 10 тредов мешают друг другу и ждать приходится тип еще дольше?

Я нихуя не понял, если честно.

Только то, что чтение с диска таки занимает львиную долю времени
Аноним 05/08/16 Птн 02:16:52  133359402
>>133358336
>вывод состояния каждые n итераций занимает много времени
Лил, таки да, много консоль дрочить - тоже весьма затратно
Аноним 05/08/16 Птн 02:19:34  133359530
14703527748480.png (5Кб, 435x123)
Ну это вообще пиздец.
540 секунд общего чтения. 150 тредов.
Где я проебался?
Плюсование времени находится в синхронизированном методе.

Что-то тут нечисто.
Аноним 05/08/16 Птн 02:26:51  133359907
>>133359402
>много консоль дрочить
Общее время вывода было примерно 1 к 600 от всего времени работы, так что я понял что дело не в нем.

>>133359357
Вполне возможно что треды мешают друг-другу, треды как таковые, я думаю, имеют свой доступ, но система обрабатывает их в одном потоке.... Можешь запилишь уже загрузку всего в память? Или хотя бы части...
Да и может ты с расчетом времени проебался. Очень тонкий реквест кода.
Аноним 05/08/16 Птн 02:44:51  133360899
>>133359907
Держи: https://github.com/f77/capcha_1_remaster_width_genetic_algorithm
Там же еще и реп с первой версией ген-алгоритма, печатающего текст.

А я на сегодня, пожалуй, закруглюсь. Уже поздно, да и голова не варит уже.
Завтра продолжу.
Надо будет написать единоразовую загрузку в память всех капч, а дальше уже можно и, наконец-то, прикрутить ген-алгоритм.
Аноним 05/08/16 Птн 02:46:09  133360973
>>133359907
Конкретно код подсчета времени, да и само чтение (да еще и препроцессинг походу) в файле https://github.com/f77/capcha_1_remaster_width_genetic_algorithm/blob/master/src/bugaga/Decoder.java
Аноним 05/08/16 Птн 02:50:30  133361183
>>133360899
>>133360973
Открыл я гитхаб и, как обычно со мной бывает, уронил челюсть.
>curl, antigate, proxy...
ух...

Еще и все методы откоменчены, охуенно.
Аноним 05/08/16 Птн 02:55:04  133361387
>>133360899
В общем спокойной тебе анон, хорошего кода и поменьше багов.
Боюсь с тобой мы больше не увидимся. Хотя как знать, мир то маленький.
Аноним 05/08/16 Птн 03:01:55  133361663
>>133361183
Это плохо или хорошо?
Так-то там либа моя лежит еще, там перделки на все случаи жизни.
Аноним 05/08/16 Птн 03:05:55  133361811
>>133361663
Просто не ожидал увидеть там курлы, поддержку прокси...
А про челюсть - так это всегда так, когда я общаюсь с человеком, а потом вижу его код больше чем в 5 файлах меня это пугает. Ага, не писал серьезных проектов.
Аноним 05/08/16 Птн 03:12:38  133362065
Не вкурил почему днк не несет информации. Он несет инверсионную информацию для РНК. А потом уже преобразуя его в нормальный на его основе синтезиуются клетки (Даже люди! Лол да?) поясни мне оп, или ты хуй
Аноним 05/08/16 Птн 03:15:21  133362169
>>133361811
Да курлы и прокси не юзаются же в этом проекте.
Так-то там 5 основных файлов и наберется.
Аноним 05/08/16 Птн 03:23:51  133362466
>>133362169
А что, на антигейте много за капчи платили?
Аноним 05/08/16 Птн 03:27:43  133362632
>>133362466
Да я не ебу, это я за них платил всегда.
Распознавание 1к капч 1 доллар.
Раньше збс сервис был.
А сейчас его наводнили боты, в итоге качество распознавания упало с 99% до процентов 50 и 30 на сложных капчах.
Аноним 05/08/16 Птн 03:32:14  133362711
>>133362632
>1к капч 1 доллар
Мда, даже напрямую работать не очень.

Ну и черт с этими капчами.
Аноним 05/08/16 Птн 08:23:29  133368930
14703746090390.jpg (294Кб, 790x1024)
Аноним 05/08/16 Птн 08:38:18  133369473
>>133323595
Гугли циклический ноль.
Аноним 05/08/16 Птн 08:58:14  133370149
О чём вы тут говорите? Вишу слова прокси и многопоточность. Если пишете многопоточную вайпалку для двача, то скиньте потом в общий доступ. И сразу дайте ссылку куда потом скинете. Капчу уже разгадал.
Аноним 05/08/16 Птн 09:01:03  133370255
Не тонем
Аноним 05/08/16 Птн 09:04:23  133370397
>>133370149
На ротан тебе могу только скинуть
Аноним 05/08/16 Птн 09:06:27  133370475
>>133370397
я и сам могу
Аноним 05/08/16 Птн 10:17:45  133373367
Стратегический бамп
Аноним 05/08/16 Птн 11:08:46  133376015
>150 потоков
У тебя что 150 процессоров?
Аноним 05/08/16 Птн 12:31:18  133380964
Не тонем
Аноним 05/08/16 Птн 12:38:18  133381452
мне кажется ОП пиздит рандомную хуйню чтоб все остальные чувствовали себя даунами)
Аноним 05/08/16 Птн 12:39:27  133381538
ПРОТЕИНОВОЕ БЕССМЕРТИЕ.
ВЫЧИСЛЯЙТЕ ГЕНЫ, ДЕВОНЬКИ...
Аноним 05/08/16 Птн 12:43:29  133381796
Бамп
Аноним 05/08/16 Птн 12:51:41  133382339
Оп не разбирается в теме, термины невпопад, консоль пишет рандомную хуйню. Разбегаемся.
Аноним 05/08/16 Птн 13:06:36  133383307
Дневной, содержание ракодетей с вк в треде увеличилось.
Аноним 05/08/16 Птн 13:40:38  133385428
Лишний бамп никогда не повредит
Аноним 05/08/16 Птн 14:17:27  133388016
>>133376015
Процессор далеко не главный пожиратель времени в этом проекте.
Аноним 05/08/16 Птн 15:01:04  133391061
Начал писать единоразовую загрузку в память всех капч.
А дальше уже на каждом шаге эволюции буду скармливать рекогнайзеру уже загруженную обработанную капчу.

И таки многопоток должен будет возыметь эффект.
Аноним 05/08/16 Птн 15:54:41  133394353
Бамп
Аноним 05/08/16 Птн 16:01:33  133394777
>>133388016
Да епта, смысл запускать 150 потоков, если у тебя максимум 8 физических ядер, куда больше-то
Аноним 05/08/16 Птн 16:10:13  133395312
14704026141110.png (54Кб, 572x684)
Прикрутил единовременную загрузку в память всех капч.
Только утилиты подсчета времени нормальной нет, надо написать, чтобы точно все засечь
Аноним 05/08/16 Птн 16:10:54  133395354
>>133394777
Да ты какой-то тупой блядь, ты понимаешь, что в программе дохуя и других дел бывает, кроме как процессором шуршать?
Аноним 05/08/16 Птн 16:12:27  133395456
>>133395354
Каких например
Аноним 05/08/16 Птн 16:17:32  133395755
>>133395456
Чтение/запись на диск, перегон информации в оперативной памяти, работа с сетью.
Аноним 05/08/16 Птн 16:19:24  133395856
>>133395755
Все это требует процессорного времени. Память сама себя не перегонит
Аноним 05/08/16 Птн 16:25:19  133396167
>>133395856
>Все это требует процессорного времени.
this

Зашел и ушел. Вернусь часов в 9 по мск, думаю тред утонет.
сега-кун
Аноним 05/08/16 Птн 16:28:23  133396325
>>133395856
Загрузить файл - 10 секунд, чтобы инициировать операцию загрузки файла, надо несколько милисекунд процессорного времени.
Какие-то дауны в треде, спорят с очевидным.
Аноним 05/08/16 Птн 16:28:23  133396327
>>133396167
>Да ты какой-то тупой блядь, ты понимаешь, что в программе дохуя и других дел бывает, кроме как процессором шуршать?

>Все это требует процессорного времени. Память сама себя не перегонит

Аноним 05/08/16 Птн 16:31:30  133396504
>>133396325
А чтобы загрузить 3к файлов...
Аноним 05/08/16 Птн 16:33:39  133396626
Что несете, смысл делать сотню потоков, если всего ядер 8.
Аноним 05/08/16 Птн 16:34:18  133396669
>>133396504
Т.к. файлы маленькие и их много, ресурсозатраты по их загрузке и процессорному времени на препроцессинг не значительно друг от друга отличаются.
Аноним 05/08/16 Птн 17:26:58  133399912
14704072189820.png (89Кб, 758x811)
Ну охуеть, лол. Кажись, я написал нормальную утилиту подсчета времени.
Вот, теперь адекватные показания.
Сделал как в дебаггере хрома:
TimeTracker.start ("DECODER_TIME_ALL");
TimeTracker.stop ("DECODER_TIME_ALL");

Охуенно. Надо будет эту тулзу добавить в общую либу.
Аноним 05/08/16 Птн 17:40:11  133400638
14704080113340.png (17Кб, 614x289)
Отпрофилировал как бог
Аноним 05/08/16 Птн 17:57:34  133401615
я всё ещё не увидел ссылки на гитхаб с кодом
Аноним 05/08/16 Птн 18:02:54  133401944
>>133401615
Просто ты слепой уебок
Аноним 05/08/16 Птн 18:06:32  133402136
>>133401944
да, действительно
Аноним 05/08/16 Птн 18:35:38  133403779
14704113385330.png (13Кб, 452x263)
14704113385341.png (32Кб, 608x671)
Самой тяжелой частью оказалась загрузка файла капчи с диска и создание массива обесцвеченных точек.
Самый тяжелый кусок пикрелейтед.

Также, к моему удивлению, распарралеливание самого распознавания ничего не дает.
При распознавании идет работа с массивами чистых данных в памяти, по сути, работа только процессора и памяти.
Хоть она и занимает лишь 0.3 секунды (вообще норм даже), но никак почему-то не параллелится, хотя производительность должна увеличиваться соразмерно количеству ядер (4).

Возможно, я где-то налажал и блокирую треды при распознавании, но вроде нет.
Алсо, на гитхабе не всегда свежая версия.
Аноним 05/08/16 Птн 18:42:57  133404301
Вообщем, можно наконец-то прикручивать ген-алгоритм.
Я снизил время распознавания 3к капч до 0.3 секунды.
Считай 0.1 сек на косарь примерно.
Это уже норм для эволюционного алгоритма. 10к поколений 1 особь пройдет за 1000 секунд.
Вообще я и расчитывал, что сейчас время будет измеряться часами, а не минутами.
Фитнесс-функция-то тяжелая.

Сейчас похаваю, и, если опять не возникнет других дел, прикручу таки генетический алгоритм.
Аноним 05/08/16 Птн 18:43:24  133404330
Алсо, залил на гитхаб свежую версию этого высера.
Аноним 05/08/16 Птн 19:18:33  133406680
Ап
Аноним 05/08/16 Птн 19:24:11  133407041
>>133404301
>Я снизил время распознавания 3к капч до 0.3 секунды.
Таки ты оптимизировал
>загрузка файла капчи с диска и создание массива обесцвеченных точек
?

сега-кун

Аноним 05/08/16 Птн 19:34:24  133407711
>>133407041
>загрузка файла капчи с диска и создание массива обесцвеченных точек
Ну да, загрузка списка файлов, самих файлов и препроцессинг происходят только 1 раз.
А в самих поколениях будет только распознавание, которое занимает 0.1-0.3 секунды.
Аноним 05/08/16 Птн 19:38:47  133408002
>>133407711
Осознал.
Как будет выглядеть твой ген-алгоритм?
n-детей, у каждого m-рандомных изменений и лучший становится новым родителем?
Аноним 05/08/16 Птн 20:06:52  133410033
>>133408002
Сейчас уже скоро будет готов. Вообще сам алгоритм уже давно лежит на гитхабе в другом репе
Аноним 05/08/16 Птн 20:20:51  133411100
>>133410033
>Делаем ее особь основой последующего поколения, ТОЛЬКО ЕСЛИ ОНА ЛУЧШЕ, ЧЕМ ПРЕДЫДУЩАЯ

Значит отец может не умереть... Ну ладно.
Аноним 05/08/16 Птн 20:23:30  133411295
14704178105360.png (18Кб, 511x267)
Сделал подсчет рейта мозга в 1 строку.
Ну теперь точно можно вешать генетику.
Бамп короче.

>>133411100
>Значит отец может не умереть
По тестам на подборе букв, такой подход увеличивает сходимость.
Хотя это уже вопросы тонкой настройки.
Аноним 05/08/16 Птн 20:28:50  133411692
>>133411295
>такой подход увеличивает сходимость.
Естественно увеличивает, ведь выбирается лучшая особь.
Да и у тебя если будет умирать отец - весь алгоритм считай будет просто рандомить каждую итерацию 1 букву потому что всего 1 потомок.

В привычном генетическом алгоритме, как мне кажется, отец должен умирать каждую итерацию. Но в привычном и потомков должно быть больше 1.
Аноним 05/08/16 Птн 21:07:06  133414515
Ап
Аноним 05/08/16 Птн 21:31:41  133416336
это сборище нищебродов без пасскода?
Аноним 05/08/16 Птн 21:36:41  133416689
>>133416336
К чему бы это?
Аноним 05/08/16 Птн 21:36:57  133416714
>>133416336
Нет, это ракодебил посетил наш тред
Аноним 05/08/16 Птн 21:58:15  133418413
Перезагрузочный бамп
Аноним 05/08/16 Птн 22:00:11  133418584
Бампает ведь не оп?
Аноним 05/08/16 Птн 22:25:37  133420742
14704251376140.png (57Кб, 547x739)
Я хуею.
На 10(!) капчах традиционный вероятностный алгоритм обучается до 72%.
Я тут собрался сгенерить начальную популяцию и прихуел. Думал рейт будет процентов 5.
Аноним 05/08/16 Птн 22:41:36  133422086
14704260970910.png (76Кб, 614x809)
14704260970931.png (5Кб, 374x173)
>>133420742
Ну это действительно охуеть.
На ТРЕХ ЕБАНЫХ КАПЧАХ, ТРЕХ КАРЛ вероятностный алгоритм смог верно распознать 73% из другой тысячи капч.

Пиздец, пришел, увидел, победил.
Как видите 3 капчи подобраны так, чтобы на них встречались все 10 цифр.
И этого достаточно, чтобы машина научилась читать эту капчу с весьма неплохим рейтом.

Придется для ген-алгоритма отпизды файл генерить.
Аноним 05/08/16 Птн 22:42:49  133422178
>>133420742
>вероятностный алгоритм
Вот это поясни.
Аноним 05/08/16 Птн 22:43:31  133422227
>>133422086
Я в ахуе. Этот ублюдок просто посмотрел на 3 картинки и обучился нахуй. Да даже битард справился бы хуже
Аноним 05/08/16 Птн 22:44:47  133422341
Я тут даже придумал, как хуекапчу таким же методом разгадать.
Для начала, надо будет обновлять капчу до тех пор, пока не получим капчу, где все цифры не будут наплывать друг на друга.
Далее разделение и вероятностный алгоритм.
Аноним 05/08/16 Птн 22:45:31  133422403
>>133422341
А наплывшие цифры ты как разделять \распознаватьбудешь?
Аноним 05/08/16 Птн 22:47:24  133422544
>>133422403
>надо будет обновлять капчу до тех пор, пока не получим капчу, где все цифры не будут наплывать друг на друга
Но вообще, цифры почти всегда наплывают.
Но я слыхал в опенцв есть продвинутые методы разделения.
Но это все потом.
Надо уже ген-алгоритм ебаный допилить.
Аноним 05/08/16 Птн 22:48:31  133422645
>>133422178
Ну, подсчет вероятности пикселя быть закрашенным
Аноним 05/08/16 Птн 22:53:04  133422947
https://en.wikipedia.org/wiki/Bayes_classifier

/thread
Аноним 05/08/16 Птн 22:56:39  133423229
>>133422947
Да
Аноним 05/08/16 Птн 22:57:15  133423275
14704270352260.png (38Кб, 537x568)
Вот это по мне. Будет исходной популяцией
Аноним 05/08/16 Птн 23:05:36  133423865
ОП, что можно почитать на тему машинного обучения? Имеет ли это какую-нибудь связь с нейросетями?

Скинь, пожалуйста старые исходники распознавателя капчи.

Спасибо.
Аноним 05/08/16 Птн 23:35:23  133426219
14704293234250.png (27Кб, 527x566)
Пиздос, лапша-код.
Опять нахуярил какое-то говно, которое жрет почти все время.
Да и вообще, обнаружил, что старый класс ген-алгоритма не подходит, надо переписывать.
Может сегодня перепишу, а может нет, чет я уже заебался.
Аноним 05/08/16 Птн 23:40:03  133426591
>>133426219
>старый класс ген-алгоритма не подходит
Добро пожаловать в реальность. Я весь тред жду как ты будешь 'мозг' рандомить, с его процентами на пиксель.
Аноним 05/08/16 Птн 23:40:13  133426608
Знаю прекрасно что такое генетические алгоритмы, меня ОП не наебет, ОП ты создаешь распознавание капчи ?
Аноним 05/08/16 Птн 23:41:10  133426685
>>133426608
Нет, распознавание капчи уже есть. Он хочет именно генетический алгоритм.
Аноним 05/08/16 Птн 23:45:51  133427089
>>133426685

Надо обучение , ведь он сказал что распознает на 50 процентов, как алгоритм определит, где правильно распознало или неправильно? Надо кидать образцы и учить программу
Аноним 05/08/16 Птн 23:47:35  133427240
>>133423865
та это родственные алгоритмы, ты знаешь про нейронные сети много? Если знаешь, тебе запрограммировать генетический алгоритм будет очень просто
Аноним 05/08/16 Птн 23:47:43  133427253
>>133427089
Попробуй еще раз. Я нихуя не понял.
Аноним 05/08/16 Птн 23:52:55  133427617
>>133427253
Генетический алгоритм для чего имено, не хочется весь тред читать? Ты ему даешь входные и выходные данные?
Аноним 05/08/16 Птн 23:53:48  133427676
>>133427253
Какие у тебя входные данные в этот генетический алгоритм
Аноним 05/08/16 Птн 23:58:44  133428037
>>133427676
>у тебя
Не у меня, у опа, я мимо крокодил который здесь почти с начала треда.

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

Это позволяет разгадывать капчи опираясь на эти данные.
Аноним 06/08/16 Суб 00:08:46  133428781
14704313268870.png (33Кб, 622x553)
Написал новый класс ген-алгоритма, но там где-то фейл, не пашет
Аноним 06/08/16 Суб 00:09:29  133428834
>>133428781
>Я весь тред жду как ты будешь 'мозг' рандомить, с его процентами на пиксель.
Аноним 06/08/16 Суб 00:11:32  133428992
>>133428037
он их черно белые делает?
Аноним 06/08/16 Суб 00:12:12  133429040
>>133428992
Да.
Аноним 06/08/16 Суб 00:12:41  133429071
>>133428037
только я не понял ну а причем здесь предыдущий алгоритм и 50 процентов? Он по новому начинает делать?
Аноним 06/08/16 Суб 00:13:01  133429101
>>133429040
А почему сажа?
Аноним 06/08/16 Суб 00:14:16  133429179
>>133429071
->
>>133321362
Аноним 06/08/16 Суб 00:15:31  133429262
>>133429101
1 пост с сажей не делает ничего.
1 пост без сажи поднимает тред в топ.

Если я отпишусь в хуёвом треде - он сразу взлетит в топ и будет засирать нулевую.
Если я отпишусь в годном треде... ничего не случится.
Аноним 06/08/16 Суб 00:16:08  133429297
14704317687550.png (80Кб, 612x811)
>>133428834
Уже делаю. Скоро код запушу на гитахаб.
Пока эволюция идет только в сторону деградации
Аноним 06/08/16 Суб 00:16:09  133429298
>>133429262
>Если я отпишусь в хуёвом треде без сажи
>Если я отпишусь в годном треде с сажей
Аноним 06/08/16 Суб 00:16:51  133429356
>>133429297
Ну ты на словах то можешь пояснить как рандомишь?
Аноним 06/08/16 Суб 00:17:48  133429423
В погроммиздиньи не силён, сам только-только начал, посему поясните: ОП таки сковал шин?
Аноним 06/08/16 Суб 00:18:24  133429467
>>133429356
Беру несколько рандомных строк с вероятностями, меняю их на заданное число.
Если получилась хорошая особь, она становится основой для последующих мутаций.
Если плохая - впизду ее.
Аноним 06/08/16 Суб 00:20:13  133429592
>>133429467
>заданное число
Что-то намекает что это слабое место твоего способа.
Аноним 06/08/16 Суб 00:20:47  133429614
>>133318543 (OP)
Гриша, иди нахуй.
Аноним 06/08/16 Суб 00:21:16  133429645
>>133429423
Смотря что считать шином:
С одной стороны создав тред он просмотрел свой код и исправил ошибку выборки, увеличив тем самым распознавание до 97%.
С другой - 200 постов а ген-алгоритм только зарождается.
Аноним 06/08/16 Суб 00:21:56  133429696
>>133428037
подожди 3к а разных чисел 9999, это не будет ли мало если там цифры под разными углами, это бред какой-то
Аноним 06/08/16 Суб 00:22:44  133429759
14704321645700.png (21Кб, 493x276)
14704321645711.png (15Кб, 536x258)
Да, таки продвинул эволюцию на пару процентов.
Надо поиграться с мут-рейтом и объемом мутаций.

>>133429592
А ты хочешь вероятность сразу на 0.5 ебнуть? Тогда точно все по пизде пойдет.
В том и фишка нарастающего отбора, что происходят небольшие изменения
Аноним 06/08/16 Суб 00:26:34  133430067
>>133429696
3к капч.
Цифр всего 10 штук по крайней мере в десятичной системе счисления.
На наклоны он положил.

>>133429759
Я хочу больше рандома, чтобы не фиксированное число а рандомное.
Аноним 06/08/16 Суб 00:28:49  133430242
>>133430067
>чтобы не фиксированное число а рандомное
Это убьет смысл нарастающего отбора.
Ирл мутации очень редки и очень малы за исключением крайне редких случаев дублирования целых кусков днк
Аноним 06/08/16 Суб 00:29:51  133430319
>>133430067
они расположены в определенных местах?
Тогда это ваще примитивная капча...
Аноним 06/08/16 Суб 00:30:08  133430341
>>133430242
>Ирл
>Отец может выжить
О чем ты вообще..
Аноним 06/08/16 Суб 00:30:29  133430373
>>133430067
ну то есть одна цифра расположена в определенном месте? Как это цифр 10 штук
Аноним 06/08/16 Суб 00:32:22  133430522
Вы тут вновь пишите распознавалку капчи?Уже были подобные треды, и макакен отреагировал на них. В результате всё полетело в пизду.
Аноним 06/08/16 Суб 00:32:31  133430529
>>133430319
>>133430373
Да, цифры расположены в определенных местах на каждой капче. И на каждой капче их 4 штуки. Да, это примитивная капча.
Задача определения расположения это одна из подзадач распознавания капчи, которую оп опустил для упрощения.
Аноним 06/08/16 Суб 00:33:30  133430614
>>133430529
Все теперь суть понял, спасибо за разъяснение. В адекватных тредах, хорошие люди
Аноним 06/08/16 Суб 00:33:31  133430616
>>133430522
>В результате всё полетело в пизду.
А вот про это поподробнее?
Ну чего ты начинаешь, нормально же сидели, мы тут гены вычисляем...
Аноним 06/08/16 Суб 00:34:18  133430671
>>133430614
Эх было бы так всегда...
Аноним 06/08/16 Суб 00:46:16  133431588
14704335766780.png (45Кб, 571x650)
Странная ситуация. Похоже, я в локальном экстремуме.
Слишком маленькая величина мутации и малый объем не способен обеспечить роста и все мутанты проигрывают отбор отцу.
Но чтобы было похоже на реальное обучение, надо высокий мутрейт и рандомную велечину мутации.
Но тогда отбор будет идти слишком долго.
Как же быть?
Аноним 06/08/16 Суб 00:48:16  133431738
>>133431588
Есть два стула: смириться или ждать.
Аноним 06/08/16 Суб 00:50:19  133431893
>>133430671
Так а что вы спорите про вероятность появления мутации, она же строго определенная
Аноним 06/08/16 Суб 00:52:39  133432072
>>133431893
>она же строго определенная
Какая? 50/50? Как встретить динозавтра на улице? Либо встретишь либо нет?
Аноним 06/08/16 Суб 00:57:44  133432405
>>133432072

та не она обычно не больше 1%, или если большая популяция то 1/размер популяции
Аноним 06/08/16 Суб 00:58:41  133432484
>>133432405
>размер популяции 1.
Аноним 06/08/16 Суб 00:59:15  133432520
>>133432484
1/1=1
Теорема Эскобара прямо.
Аноним 06/08/16 Суб 01:00:21  133432593
>>133432520
->
>>133411692
Аноним 06/08/16 Суб 01:04:28  133432847

>>133432484

а какой смысл в генетическом алгоритме, если там основная операция скрещивания... а там надо 2 родителя
Аноним 06/08/16 Суб 01:07:57  133433057
>>133432847
В генетике основа - мутации
Аноним 06/08/16 Суб 01:09:16  133433136
>>133433057
Бляха, это бред какой то народ. Я даю вам инфу соточку, что мутации хоть и нужны но оче редка. один раз на 100 скрещиваний
Аноним 06/08/16 Суб 01:09:46  133433169
>>133433136
А остальные 99 нам нахуя нужны?
Аноним 06/08/16 Суб 01:15:18  133433527
>>133433169
ну они все будут абсолютно разные же... Понятно что в итоге ты отберешь самого живучего, но самое главное сохранять гены эти
Аноним 06/08/16 Суб 01:16:00  133433581
>>133433169
ну или не абсолютно, но не такие
Аноним 06/08/16 Суб 01:17:04  133433649
>>133433169
ну мутация важна конечно, но должна быть очень редко, это инфа сотня
Аноним 06/08/16 Суб 02:02:46  133436534
>>133430616
Вычислять не здесь надо. Макак отреагирует. Надо скооперироваться и съебнуть, иначе всё опять коту под хвост.
Аноним 06/08/16 Суб 02:03:18  133436560
Сделал настраиваемый размер популяции, все равно нихуя.
Аноним 06/08/16 Суб 02:04:58  133436643
>>133436534
Главная цель этого треда - обучение работы с ген-алгоритмом, а капча здесь потому что легко проверить ответ.
Аноним 06/08/16 Суб 02:13:24  133437053
14704388043720.png (46Кб, 686x633)
Сделал так, что все мутации популяции происходят в окрестности какой-то одной точки. Таким образом, улучшается распознавание цифры в этой зоне.
Вроде прогресс получше, но все равно очень медленно
Аноним 06/08/16 Суб 02:16:31  133437196
>>133437053
>но все равно очень медленно
Вся суть ген-алгоритма же.
Аноним 06/08/16 Суб 02:16:55  133437216
https://github.com/f77/capcha_1_remaster_width_genetic_algorithm/blob/master/src/bugaga/evolution/EvolutionBrain.java
Эволюционный алгоритм.
Аноним 06/08/16 Суб 02:31:11  133437956
ОП, как же мне хочется тебя пнуть под сраку.

Во-первых, препроцессь капчи и собери их в сериализованную загружаемую коллекцию (массив + значение капчи), вместо того чтоб загружать каждую картинку индивидуально и парсить каждый. Ёбаный. Раз. Отрежешь половину времени выполнения.

Во вторых, схуя ли ты модифицируешь таблицу вероятностей линейно? Хули усредняешь? Есть шкалы, есть Баэзовский классификатор, который, блядь, именно такие проблемы и решает.

В третьих, ты не охуел на каждый пиксель смотреть отдельно? Редуцировать батюшка запретил? Мог бы, блять, разбить картинку на октри, нормализовать, и тогда похуй будет на шум, повороты, макакины хуи и т.д. И какого результата ты ожидал? Давай разберём по частям тобою написанное. Наложи все образы цифр одна на другую в одном пространстве и посчитай, в скольких местах у них пересекаются пиксели. Даже лучше, ради визуализации: высчитай шкалу количества пересечений и вырежь из каждой капчи те части, где есть, скажем, более 50% пересечений между 3-4 цифрами. Посмотри, что осталось, и подумай, что не так.

И самое главное - какой это, в пизду, генетический алгоритм? Генотип должен состоять из набора примитивных операций. У тебя не операции, а показатель. Ты изменяешь хуй знает что, хуй знает как.

Вообще охуеть
Аноним 06/08/16 Суб 02:33:50  133438083
>>133437956
>Во-первых, препроцессь капчи и собери их в сериализованную загружаемую коллекцию (массив + значение капчи), вместо того чтоб загружать каждую картинку индивидуально и парсить каждый. Ёбаный. Раз
Да сделал я это уже.

А вообще ты прав, я тут хуйни навернул знатно.
Есть что исправлять.
Аноним 06/08/16 Суб 02:35:31  133438156
>>133438083
>в сериализованную загружаемую коллекцию
Уверен?
Аноним 06/08/16 Суб 02:44:56  133438517
>>133437956
>Во вторых, схуя ли ты модифицируешь таблицу вероятностей линейно? Хули усредняешь? Есть шкалы, есть Баэзовский классификатор, который, блядь, именно такие проблемы и решает.
>В третьих, ты не охуел на каждый пиксель смотреть отдельно? Редуцировать батюшка запретил? Мог бы, блять, разбить картинку на октри, нормализовать, и тогда похуй будет на шум, повороты, макакины хуи и т.д. И какого результата ты ожидал? Давай разберём по частям тобою написанное. Наложи все образы цифр одна на другую в одном пространстве и посчитай, в скольких местах у них пересекаются пиксели. Даже лучше, ради визуализации: высчитай шкалу количества пересечений и вырежь из каждой капчи те части, где есть, скажем, более 50% пересечений между 3-4 цифрами. Посмотри, что осталось, и подумай, что не так.

На реализацию этого я бы посмотрел.

> Генотип должен состоять из набора примитивных операций. У тебя не операции, а показатель. Ты изменяешь хуй знает что, хуй знает как.
А вот здесь чет сложно стало. Поясни пожалуйста?
Аноним 06/08/16 Суб 02:46:29  133438588
>>133438156
Ну типо того есть.
Аноним 06/08/16 Суб 03:05:26  133439342
Ладно, я спать. Возможно, завтра продолжим.
Аноним 06/08/16 Суб 03:05:53  133439357
Спасибо всем за участие в треде
Аноним 06/08/16 Суб 03:07:50  133439426
>>133438517

Реализацию чего? Вырезаешь ровно 10 цифр из капчи. Загружаешь их одна за другой. При загрузке каждой смотришь на каждый пиксель, проверяешь, есть ли он уже в канвасе, если да, увеличиваешь счётчик. Затем блит текущей цифры в канвас. И так до конца. На выходе список пикселей, у которых счётчик больше 0. Можешь ради лулза нагенерировать разные сеты символов с разными шрифтами, результаты теста по сету свести в гистограмму, а потом сравнить все гистограммы визуально. Охуеешь, насколько эффективность твоего алгоритма зависит от шрифта и размера.

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

> А вот здесь чет сложно стало. Поясни пожалуйста?

Фундаментально, генетические алгоритмы (как их понимает сегодняшняя теория) - это алгоритмы поиска решений. Решения эти сами по себе алгоритм. Этот алгоритм каждый раз применяется к данным, результаты оцениваются, и производится модификация. Можешь думать об этом, как о виртуальной машине, в которой алгоритм - доступный набор инструкций, а любое решения - комбинация этих инструкций. У тебя же всё наоборот: сам алгоритм анализа не эволюционирует, а модифицируется (криво) набор данных, которым алгоритм пользуется (криво). Ты не применяешь развитый алгоритм к данным - ты применяешь один и тот же алгоритм к изменяющимся данным.
Аноним 06/08/16 Суб 03:17:21  133439814
>>133439426
Как ты предлагаешь закодировать изменение самого алгоритма?
Аноним 06/08/16 Суб 03:33:34  133440372
>>133439814

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

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

Блять, теперь замому захотелось...
Аноним 06/08/16 Суб 03:38:37  133440483
>>133439426
> Вырезаешь ровно 10 цифр из капчи
Т.е. отбираю цифры 0-9 и вырезаю их. Получаю 10 файлов.
>при загрузке каждой смотришь на каждый пиксель, проверяешь, есть ли он уже в канвасе
Загружаю их на один и тот же канвас? 10 цифр?
>Затем блит текущей цифры в канвас.
>блит
?
>И так до конца.
До какого конца? 10 цифр же всего?

>пиксели не просто сами по себе, а связаны друг с другом, и анализировать их дискретно глупо.
Это очевидно, но для данной капчи - достаточно.
Аноним 06/08/16 Суб 03:51:45  133440918
>>133440483

Брр. По порядку.

В тех местах, где цифры пересекаются друг с другом, будет возникать аномалия: чем больше цифр имеют этот пиксель, тем меньше эффективность оценки вероятности в этом месте. Другими словами, на местах пересечения цифр (если их все поместить в одну плоскость), алгоритм "слепнет". Шума на входе нет - но он вырабатывается внутри благодаря этой конкретной методологии. Если бы у всех цифр не было пересечения, то алгоритм бы, естественно, работал феноменально. Оценка вероятности в таком случае - как раз проблема для Баэз-классификатора, поскольку он вырабатывает новую вероятность не линейно, а на основании всех предыдущих вероятностей.

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

Блит - это пиксельное копирование региона. И да, 10 цифр всего.

Я спать...
Аноним 06/08/16 Суб 04:01:48  133441285
>>133440918
>Кроме того, я подозреваю, что ОП смотрит на всю картинку целиком, а не на отдельные регионы цифр
>>133321897

>Для начала, разделяем капчу на 4 части, чтобы распознавать каждую цифру отдельно.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 246 | 24 | 37
Назад Вверх Каталог Обновить

Топ тредов