All streams
Search
Write a publication
Pull to refresh
-15
Евгений @mpakepread⁠-⁠only

Веб программист

Send message
Почему только третьего? Почему сигналы не у всех слоев true/false?
Сейчас это похоже под адаптацию классических нейронных сетей под двоичные данные.
В бинарных сетях результатом работы должно быть бинарное значение.
@onlinetg_bot бот для поиска по запросу «короновирус» и многим другим. Поиск идет по более чем 1000 групп сети телеграм. Просто напишите интересующие вас слова боту, и все новости содержащие интересующие вас слова будут приходить вам мгновенно.
Для Xilinx планируете делать? Столкнулся с задачей разработки хочу попробовать RISC-V и выбираю ядра. Ваше бы хорошо подошло. Разработка все еще актуальна?
У таких сетей есть еще масса приемуществ. Не обязательно считать всю сеть а можно лишь ее часть. Я считал как то сколько это может быть и уменя вышли такие цифры Для расчета достаточно 3.2% (32 нейрона) при сети в тысячу нейронов, 0.1% (1 тыс) при миллионе «нейронов» в сети и 0.003% (32 тыс) при сети размером в миллиард «нейронов». Цифры могут немного разница от результата расчета, но порядки будут оставаться в близких пределах. Это даст просто огромное приемущество на действительно больших массивах данных. И еще одной свойство это отсутствие эффекта переобуения, то, чем страдает большая часть «аналоговых» алгоритмов.
Вылажил свой саморасширяющийся алгоритм машинного обучения «биморф» приглашают всех поучаствовать в тесте биморф.рф Алгоритм самостоятельно создает всю необходимую структуру по мере роста сети.
Простите не сразу смог ответить уезжал из города. Присылайте на почту dataset@mpak.su я поставлю на расчет.
При таком обьеме недостаточно данных. Чтобы найти зависимости нужно много данных. Сгенерируйте выборку побольше и алгоритм найдет закономерности всегда со 100% результатом. При этом сложность зависимостей не важна. Это может быть трехуровневая, пяти или десятиуровневая формула, вопрос ее нахождения это вопрос времени, не такого большого как может показаться расчет идет на обычным процессарах и за приемлемое количество времени. При этом можно говорить о разных форматах данных такая зависимость может быть спрятана в событиях к примеру или в числе это опять же не особо важно. Может быть раскидана по разным событиям в любом случае закономерность будет найдена.

При этом как писал выше есть бонусы. В нейронной сети невозможно сказать какое событие привело к результату. Тут однозначно мы имеем события которые привели к получению результата. Интерпритируемость полная.
Так авторы всех css статей заминусованы. А про страдания живенько так обсуждаются.
Ctrl+Shift И Shift+Ctrl — это теперь РАЗНЫЕ комбинации
Это же гениально. Десять лет сижу на линуксе и не знал что они разные. Возможно не было хорошего повода разобраться, а сам как то даже допустить не мог подобного. Было бы хорошим решением сделать Ctrl+Shift — первая раскладка а Shift+Ctrl — вторая. Кто нибудь так делал?
Частично это так, но на практике это не проблема.
Проблема в оценке насколько в той информации которая дается в обучении заданы все зависимости оставшейся выборки. Как можно оценить сколько примеров нужно оценить чтобы модель однозначно давала нужный результат и случайных факторов не оставалось. Из 150 примеров Ириса Фишера сколько нужно чтобы обучиться для всех включая тест? Классический ответ это 70% но почему не 50% почему не 30% а ведь есть грань за которой модель перестанет улавливать суть. Где эта грань проходит очень большой вопрос. Как любят говорить это никто никогда не скажет определенно и нужен большой опыт и практика. Прям магия какая то а не точная наука.

На практике мы имеем совершенно неформулизованную область деятельности в которой неизвестного и непонятного значительно больше понятного. Любая попытка достижения результата это тыканье пальцем в небо сработает/не сработает. До каких то строгих правил и методологий оценки очень далеко. И скорее всего в ближайшее время это не изменится.
Всегда рекомендовал пользоваться разными клавишами для переключения раскладок. Первое время не удобно, но когда привыкаешь дает отличный прирост в скорости. Не отвлекаешься каждый раз на проверку какая текущая раскладка включена. Жмешь нужное сочетание и знаешь что включена нужная раскладка.

image
Так вы ему и X+Y*Z не даете. Просто утаиваете часть информации на которой он мог бы вычислить «похожие примеры» еще раз повторю о примерах идентичных вообще не идет речь понятно что он на них праивльно ответит. При тесте проверяются аналогичные примеры тем которые были в тренировочной выборке. Но она не полная, там скрыта часть примеров.

На самом деле проблема что у учителя ограниченный круг задач который он может дать. Их всего скажем сто. Новых нет. А придумать новых не может, поэтому и приходится придумывать какие то способы првоерять. ХОтя по мне так обучив на полной выборке и узнай насколько обучилась модель вполне себе приличная проверка. Вопрос почему мы решаем задачи с таким маленьким количеством примеров? Мы пытаемся использовать модели где простое запоминание дало бы в сто раз лучший результат если количество примеров ограничено. А если не ограничено зачем требуется утаивать часть выборки не давая на них обучаться? Все равно что их всего количества примеров на которых мог бы обучиться ученик дать ему по одному примеру. Один со сложением, один с делением и один с умножением. 2+2=4 а теперь посмотрим как ты числа с тремя нулями вычисляешь. И пытаться получить с него хоть какие то результаты на экзамене, при этом давая примеры с дробными числами. Не удивительно что на классических задачах такой плохой результат, ведь данных для обучения катастрофически не хватает а результат будет определяться случайными факторами обучения внутри модели. У меня есть мысль почему это так происходит. На расчеты тратятся огромные ресурсы. Была уже информация, что обучение модели среднего размера сопоставима с выбросами углекислого газа одного автомобиля. И это при том что 9 из 10 будет просто выброшено не показав достойного уровня при проверке. О каких тут дополнительных примерах может идти речь если то есть обходится планете слишком дорого. Все ваши «ужимки» и ограничения исходят из ограниченности алгоритма и большого расхода ресурсов на их работу. Я же не придумываю ничего нового это все уже давно известно тем, кто интересуется темой.
image
Есть тест который я у себя в моделях использую он позволит четко провести разницу запоминает алгоритм или учится. Берем выходые данные пусть будет 40 бит хотя это не сильно важно главное чтобы значительно больше чем в формуле чтобы они не позволяли легко найти зависимости и исключили запоминания так как в 40 битах вариантов больше, чем любая модель может запомнить. И генерируем случайные данные. В них придумываем формулу генерации обучения к примеру (21бит|15бит|(7бит&8бит)) это условие (двадцать первый бит или пятнадцатый бит или седьмой восьмой вместе).

0100110010 0010100110 001001001110 01100010 => 1 (15 бит)
1001010010 0100001001 001010010011 01100010 => 0
0010111101 0110000010 011010001010 01100010 => 1 (7 и 8 бит)

В формулу можно добавить любое количество бит взять любые из 40 и сгенерировать скриптом обучающую выборку. Самой формулы в выборке не будет и ее можно будет найти только анализируя данные. Сама выборка должна быть огромной ну скажем десятки тысяч. В списке 40 бит найти эту формулу будет для человека сложно достижимо а для алгоритма запредельно сложно. Правильный алгоритм находит подобные зависимости очень быстро и после пары десятков обучений будет выдавать правильные ответы уже не ошибаясь. Именно нахождение подобных логических структур и стояло требованиях к созданию алгоритма и он их очень хорошо находит. Никаким запоминанием и тем более линейной регрессией это не вычислить данные будут очень равномерно распределяться по всем данным. Человек просматривая данные глазами будет искать эту закономерность очень долго отвлекаясь на анализ большого количества случайных данных. Проверить может ли алгоритм правильно предсказываеть неизвестные ему данные можно подавая последовательности которых нет в выборке. Обучившийся алгоритм в том числе и на них должен давать правильные результаты. Вот алгоритм который будет выявлять подобные зависимости в данных действительно обучается а не запоминает, потому что запомнить 2^40 оОочЕнь сложно.
Потом учеников просят решить несколько примеров самостоятельно.
Еще раз спрошу. Вы во время урока, не на экзамене утаиваете от учеников часть данных? Пытаетесь с учеников спрашивать то, что не объясняли? У вас есть конкретно решенная задача, но вы ее отложили до экзаменов и не даете на ней обучиться. Именно это вы мне сейчас и предлагаете делать с тестовой выборкой.
Отличается тем, что запоминание дает возможность выдавать значение только совпадающие значения с обучающей выборкой а обучение позволяет алгоритму прогнозировать любые значения в пределах диапазона обучения.
А обучение и не отличается от запоминания
Если алгоритм «запомнил» значения {1:0, 7:0, 18:1, 42:1} то ничего не будет знать если ему подать в качестве входящих данных неизвестное число из обучающей выборки а если алгоритм «выучил» то вы получите и 3 и 8 и 12 любое другое число главное, чтобы входящие данные не выходили из диапазона от 1 до 64. Именно это свойство и отличает обучение от запоминания.
В процессе запоминания ничего не происходит с анализом данных. Обучение сопровождается расчетом зависимостей между данными и построение модели позволяющей генерировать прогноз даже на неуказанные в обучающей выборке значения.

Более того вы после одного обучения {1:0} уже получите прогнозы, только они будут очень простыми скорее всего всегда равны одному человеку. Алгоритм построит минимальную модель котоаря всегда будет прогнозировать один прогноз из единственного обучающего значения. По мере обучения новым примерам эта модель будет усложняться и подстраиваться под вновь поступающие данные.
Сначала учитель объясняет ученикам, как решать задачу и показывает ее решение на нескольких примерах.
Проверку результатов правильно сравнить с экзаменом. На уроке (процесс обучения) информация не скрывается. И в этом абсурд. Ученик спрашивает почему часть задачек вы нам не даете, я хотел бы их выучить чтобы на экзамене получить лучший результат. А учитель отвечает — Это мы не будем проходить чтобы вы не набрали 100% на экзамене. Часть задачек в учебнике мы специально закрасили чтобы вы не знали всей известной информации. А теперь попробуйте на экзаменах набрать максимальный результат. Но как же учитель вы ведь нам это даже не давали. А ничего не знаю, так работают НС.
Потому что то, что они скопируют ответ
Да именно. Учитель говорит запоминайте. Замечайте связи между информацией, выбирайте признаки по которым вы сможете научиться давать правильные ответы. На экзамене мне не важно запомнили вы всю «Войну и мир» или только часть. Перечитывайте ее столько раз сколько потребуется но на экзамене я хочу максимально правильные результаты которые возможно. Естественно плюс то, что можете додумать исходя из прочитанного. Зная максимально фактов додумать весь сюжет до максимально близких предсказаний. К примеру вопрос какой могла быть одежда героев. Пусть в книге даже не будет ее точного описания. Если дать 100% книги а не 70% этот ответ будет только точнее. В недорассказанных 30% может оказаться факты которые будут более точно говорить об одежде какая могла бы на героях быть. Их предпочтение, время жизни, любимые цвета все это скажется на процент правильных ответов. На экзамене вопросы будут не 100% совпадающими с диалогами героев а нужно дополнить пустые пятна не сказанные в книге и ответить и на них тоже. Правильный алгоритм обучения не запоминает он улавливает в первой эпохе только часть информации. Допустим один процент от текста. При втором прочтении понимает больше, и так дажлее. НС не могут на 100% пересказать весь сюжет книги только 95% от нее. биморф же может обучиться и рассказать все 100% это возможно, плюс рассказать то, чего в книге небыло. Если спросить о факте который в книге небыл указан то он тоже даст ответ на него. Но вопрос в том что эти ответы будут ближе если не скрывать часть книги а дать максимально много информации. Не вырывать 30% страниц.
Они должны сами решать примеры, которые до того они еще не видели.
Именно так и происходит сейчас. Я как попугай уже который раз говорю что можете зайти и ввести любой пример которого нет в выборке того же ириса фишера и вы не поверите это те данные которые алгоритм самостоятельно реши их в обучающей выборке небыло. Но совершенно другое дело когда вы специально ограничиваете сеть в данных не давая правильных. Я понимаю от чего вам срывает крышу. Нейронной сети доучиться до 100% просто неререально даже если ей дать всю выборку. Тот же график показывает что средний показатель на трейне 95-98% а то и меньше. Обьясните почему не 100%? Сеть ничем не была ограничена. У нее были все данные. Но даже на такой простой задаче как обучиться всем данным из списка обучающей выборки сеть не может. Опять же проверка ее результата это итоговый экзамен за которым никто уже не сможет дообучить сеть недостающим данным. Почему после проверки на тесте никто ни говорит чтобы взять и дообучить сеть на данных которых она не видела? Что это? И почему это работает именно так. Откуда такие ограничения?
И абсурдом было бы просить их решить те же примеры, что учитель показывал.
О тех же примерах которые были в обучающей выборке вообще речи не идет. Вопросы всегда те которых небыло в обучении. Тут речь о другом если вы не поняли о том, что часть нужной информации вы вообще не даете. Вы ее знаете, но пытаетесь скрыть чтобы потом пытаться измерить недообученный алгоритм. У вас есть 10 задач котоыре вы знаете как решать. Но вы даете на укроке только 7 из них. а остальные просто недаете хотя в экзамене они есть. Вот речь о чем. Дайте все 10 задачек. И дайте на экзамене все десять для решения. И плюс еще 5 с верху которые придумаете после урока перед экзаменом. Ну или поменяйте числа в предыдущих задачах так, чтобы цифры были другими, но сама задача разбиралась на уроке. В данных насколько понимаю не проблема. Проблема только если само количество ограничено, но в этом случае тем лучше если алгоритм просто запомнит все данные ведь новых ни у кого нет и появиться им неоткуда. Мы же учим табличку умножения и никто не пытается нас проверить на каких то данных которых в таблице умножения до 10 не может появится. Это просто запомненные данные на очень маленьких выборках. На больших придется вдумываться в цифры и думать как не запоминать а понимать почему именно так а не по другому. Если ученик на экзамене решит все десять задач это и будет говорить о том, что он научился. Если решить девять то еще можно урок првоести подтянуть знания.
Она не выборку делит на две части, а суммирует входные параметры с определёнными коэффициентами, формируя линию, делящую пространство фич на две части
Не суть что она там делит. Факт в том, что процесс принятия решений чуть сложных чем линейный градинет плавная прямая волна не получится поделить одной чертой. Размер правильных предсказаний в такой сети будет крайне низок. Это какой то детский алгоритм и я бы мог его еще в школе написать. Возможно кто-то его и использует но воспринимать эту приметивную вещь как алгоритм сложно. Что значит его обучение? Поменять уровень наклона этой прямой или сместить на пару пикселей выше? Много у вас от такого обучения поменяется? Скорее всего даже в худшую сторону.
И в некоторых задачах способна таким образом получить 95-99%
В подобных задачай проще на глаз определить линию и простой математической формулой задать разделение. И то толку будет больше. Во всех данных элементы котороых не разбиты на две скученные кучки получить хоть какой то приемлемый результат с линейной регрессией равен нулю. Это должны быть очень своеобразные данные с четкой границей разделения Потому что разбейся такая кучака на «неровные группы» и все. «неалгоритм» выдает близкий к случайному результат все равно что генератором случайных числе предсказания делать.
Вот такое тестирование — это и есть экзамен для нейросети.

Перед экзаменом никто не скрывает известную информацию. Вся выборка обучающая и тренировочкана проверяет способность обучиться или запомнить не сильно важно информацию. Если обучившаяся сеть в итоге дает 100% а не 90% как к примеру без теста то это и есть экзамен, цель достигнута. Что там было у них на недоученной сети когда небыла загружена часть информации это уже никого не волнует. Никого не интересует что какой уровень ответов давал школьник если его итоговый результат при выпуске будет 100%. Какой то очень странный поступок скрывать часть информации чтобы померить уровень предсказания недоученной сети. Давайте попробуем разобраться в причинах вашего упорства непринимать эти факты. Обьясните мне почему даже на тренировочной выборке НС никогда до 100% не обучается. Что это за фишка такая? И не кажется аналогией когда даже зная что сеть дает каокой то выдающийся результат без теста вы не можете просто взять и доучить НС до нужных показателей. Вот первопричина почему мы придумываем какие то непонятные метрики для измерения вместо того чтобы взять и дообучить. Что мешает зная что НС не дает нам нужный результат просто взять и довести ее до нужного нам уровня обучения? Вот это главная причина. Обьяснить это можно только ограниченностью НС. Она такие вещи просто не умеет. Поэтому и приходится мерить НС на недообученных данных и оставлять их такими чтобы не испортить эти показатели окончательно. Сама концепция просто непригодна для использования, НС не позволяет даже самые простые вещи к примеру дообучиться после проверки ее на тесте. Или поменять всои предсказния при измененнии выборки или учиться на неограниченно больших данных. Вы приудмываете оправдание применением каких то детских алгоритмов линейной регресии. И как то вам мозг ломает что в любой момент алгоритм можно довести до нужного уровня совпадением простым накидыванием неизвестных ему данных Хоть до 99% хоть до 100% всегда. Что это? Какой то мозговой ступор заставляющий человека обьяснять приудмывать все новые и новые отговорки и защищать заведомо глупую идею с измерением недообученной сети. Как будто это так работает для всех. Не переносите ограничения НС на другие сети. Просто признайте что она такого не умеет и поэтому людям работающим с НС приходится заниматься извращениями чтобы хоть как-то заставить ее работать и получить хоть какие то результаты не поломав окончательно.
нейросеть под него подстроится и измеренное на нём качество поменяется в сторону улучшения, и уже не будет характеризовать качество на случайных новых данных
Десятый раз повторяю любое изменение и обучение на неизвестных данных приводит только к праивльным прогнозам. Любые корректные данные изменяют сеть в правильную сторону. Там нет «аномалий» с разворотом обучения который есть в НС по простой причине любая НС ограничена в обучении с самого своего первого момента создания и больше нет никакой возможности этот параметр увеличить. Здесь же мы ничем не огранчиены. И все обучения как самые первые так и любые последующие приводят только к улучшению ситуациюю. Нет никаких ухудшений как это есть в НС. Я вам уже кидал ссылку на расчет в котором написан процент свопадения. И он постоянно растет какой большой бы не была сеть. Это будет продолжаться всегда пока вы кидаете сети корректные данные для обучения. Тестовая сеть корректные данные поэтому и их обучение приводит к улучшению результатов а не к ухудшению как это просиходит в НС. Вы сейчас как будто не можете перейти какой то невидимый барьер представить что есть структура которая существует без недостатков НС и к ней непримеримы ее мерки. Все пытаетесь свойства НС перенести на другие алгоритмы. Нет это не так работает. Ограничение в развитии после которого мы можем только изменить свходимость (выпускной экзамен) это только для НС. У биморфа я в любой момент могу достаить любую не 100% сеть и продолжить обучать дальше.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity