GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.10 (10)<< < Пред.   Поиск:  
 Автор Тема: На: Остались ли тут специалисты, которые разбираются в ИИ
Viсtоr G. Tsaregorodtsev
Сообщений: 16
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 16 сен 25 6:07
Цитата:
Автор: tac2

> аdmax
Вы его проверяли?

Почти уверен, что он не даст тоже самое что с использованием torch, вопрос только в размере катастрофы
Вот правильно, торч, тензорфлоу и подобное — это ваше, а лучше не издевайтесь над собой, а как все пользователи юзайне питон как апи.
[Ответ][Цитата]
аdmax
Сообщений: 302
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 16 сен 25 9:23
Цитата:
Автор: tac2

он не даст тоже самое что с использованием torch, вопрос только в размере катастрофы
Цитата:
Автор: Viсtоr G. Tsaregorodtsev
между КУЕМ и пальцем.
проехали
[Ответ][Цитата]
tac2
Сообщений: 414
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 16 сен 25 20:41
Изменено: 18 сен 25 6:07
> В моём MLP >5000 строк кода(в том числе ассемблера и вызовов ядра) и учится от до 98.5%
Ну, т.е. вы хотели мне продать, то что мне не нужно, и там где я по прежнему прав. Бэкпроп не сходится - и вы подтверждаете, что даже ваш за деньги до 98.5%

И это при том, что перцептрон учится до 100%.

Что же такого засунули в torch?

upd. В общем я проверил. Назовем это "наивная реализация BackProp", это то, что показывает DeepSeek и писали тут все кому не лень. Её отличительная черта, что есть исключительно learningRate, которую нужно подбирать. И никаких других оптимизаций (типа там моментов, Adam и прочего). Что засунули в torch по-прежнему остается вопрос.

Это конечно именно та реализация BackPropa, которую я критиковал еще 10 лет назад, и она конечно же, хуже перцептрона. Но теперь у нас есть реализация в torch и она существенно лучше.

Проблемы наивной реализации бэкпропа уже видны на задаче четности с 10 битами, последние 4 ошибки четко застревают, с примерно 10000 шага, и нужно 21675 шага чтобы это решить. Но это для 30 нейронов в среднем слое.

Перцептрон со случайным SA связями решает это на раз, но ему нужно минимум 1000 А элементов, которые потом можно сократить. И на больших задачах это лучше чем наивная организация.

Но торч бьет и то и другое, у него можно с 30 нейронами обучить 16 бит, да тоже будет под 10000 итераций, но это возможно.

Это означает лишь то, что бэкпроп улучшили не бэкпроповскими штуками-дрюками, и почему так же
нельзя сделать с перцептроном, остается вопросом.
[Ответ][Цитата]
Viсtоr G. Tsaregorodtsev
Сообщений: 16
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 17 сен 25 4:28
Цитата:
Автор: tac2

> В моём MLP >5000 строк кода(в том числе ассемблера и вызовов ядра) и учится от до 98.5%
Ну, т.е. вы хотели мне продать, то что мне не нужно, и там где я по прежнему прав. Бэкпроп не сходится - и вы подтверждаете, что даже ваш за деньги до 98.5%

И это при том, что перцептрон учится до 100%.

Что же такого засунули в torch?
Это вы про что сейчас говорите? Про MNIST? Какие ещё к черту "100%" в ML, на тестовой выборке, на данных с шумом...

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

Если хотите хотя бы подобия предметного разговора, четко описывайте датасет(файл, алгоритм генерации) и модель с её конфигурацией. Например прогоните MNIST на торче, на конфигурации [ 784, 256, 128, 10 ] [ relu, relu, softmax ] лёрнрейт 0.1, батчей 32, эпох 20
[Ответ][Цитата]
tac2
Сообщений: 414
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 17 сен 25 5:57
Изменено: 17 сен 25 6:06
> оверфитинг
это отмазка дурачков, которые не могут обучить бэкпропом, короче все с вами ясно, я был о вас лучшего мнения ...

> Нужно 100% на трейне, берите ближайшего соседа
да, про это собственно и шла речь, но не нужно мне тут подсовывать другие алгоритмы, это нужно на бэкпропе .. мы же сети обсуждаем или где?

Вы вообще не внимательно читаете, я же даже для таких умников как вы критерий придумал
> или вы верующий в т.н. переобучение? И тогда добавляем ошибки из обучающей выборки к общей

ваш способ пускать пыль к глаза удивляет, от того, что вы не можете обучить 100% на обучающей выюорке, эти ошибки никуда не пропадают, это же прямые ошибки

> четко описывайте датасет(

> на задаче четности с 10 битами
Вы может не знаете, что такое задача четность? или настолько не уважаете других, что не читаете то что пишут?

уровень прогноза сейчас вообще пофиг, мы обсуждаем нагрузочные тесты.
[Ответ][Цитата]
Viсtоr G. Tsaregorodtsev
Сообщений: 16
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 17 сен 25 6:15
Цитата:
Автор: tac2

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

> Нужно 100% на трейне, берите ближайшего соседа
да, про это собственно и шла речь, но не нужно мне тут подсовывать другие алгоритмы, это нужно на бэкпропе .. мы же сети обсуждаем или где?

Вы вообще не внимательно читаете, я же даже для таких умников как вы критерий придумал
> или вы верующий в т.н. переобучение? И тогда добавляем ошибки из обучающей выборки к общей

ваш способ пускать пыль к глаза удивляет, от того, что вы не можете обучить 100% на обучающей выюорке, эти ошибки никуда не пропадают, это же прямые ошибки

> четко описывайте датасет(

> на задаче четности с 10 битами
Вы может не знаете, что такое задача четность? или настолько не уважаете других, что не читаете то что пишут?

уровень прогноза сейчас вообще пофиг, мы обсуждаем нагрузочные тесты.
Почитайте в дипсике или погуглите, про оверфит и обобщающую способность алгоритмов ML, не позорьтесь, а также кривые обучения на трейне и тесте и почему не нужно обучать на трейне до 100%, из-за чего это плохо. И не нужно обзываться, вы просто кое-что, весьма существенное кое-что, не знаете, это за пол часа можно поправить. "Дурачки" это про тех кто стоит на своём и не хочет учиться.


Затем возьмите мнист и поставьте эксперимент, а не ксоры и спирали, где трейн это тест. Получите 98% на тесте, замерьте за сколько прошло обучение и потом я вам покажу сколько это занимает на моём MLP, по сравнению с вашими торчами и тензорфловами.
[Ответ][Цитата]
tac2
Сообщений: 414
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 17 сен 25 8:49
Изменено: 17 сен 25 9:08
> почему не нужно обучать на трейне до 100%, из-за чего это плохо
Это бред собачий, как и все подобные объяснения ..

Еще раз, если вы не можете обучить на 100% мне это не интересно от слова вообще.

MNIST - это более простая задача чем четность, она годится только для поверхностной проверки.

Как же до вас это не дойдет?

Сделайте вот, что - совместите обучающую и экзаменационную выборку на MNISTe, потом случайным образом отделите 10к примеров. Обучите на оставшихся 60к. Потом снова все перемешайте и проверьте на всех 70к. Вот это будет непредвзятая наука, все остальное - это подгонка результатов. Сколько ошибок в штуках?

> приведете статистику, сколько ошибок на какой цифре сделала сеть, например для перцептрона:

Error = 0 - 25
Error = 1 - 23
Error = 2 - 55
Error = 3 - 59
Error = 4 - 63
Error = 5 - 59
Error = 6 - 42
Error = 7 - 65
Error = 8 - 86
Error = 9 - 88
Error=473

P.S. Важно, опишите то как вы кодируете выходы ... Уверен, вы не сможете сделать с одним выходом, где будет реально цифры от [0-9]. Но если у вас 10 выходов, ответ считается правильным, только если есть порог >0.5 = 1, никаких вероятностей. И из 10 выходов только один =1, соответствующий цифре
[Ответ][Цитата]
Viсtоr G. Tsaregorodtsev
Сообщений: 16
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 17 сен 25 10:24
Цитата:
Автор: tac2

> почему не нужно обучать на трейне до 100%, из-за чего это плохо
Это бред собачий, как и все подобные объяснения ..

Еще раз, если вы не можете обучить на 100% мне это не интересно от слова вообще.

MNIST - это более простая задача чем четность, она годится только для поверхностной проверки.

Как же до вас это не дойдет?

Сделайте вот, что - совместите обучающую и экзаменационную выборку на MNISTe, потом случайным образом отделите 10к примеров. Обучите на оставшихся 60к. Потом снова все перемешайте и проверьте на всех 70к. Вот это будет непредвзятая наука, все остальное - это подгонка результатов. Сколько ошибок в штуках?

> приведете статистику, сколько ошибок на какой цифре сделала сеть, например для перцептрона:

Error = 0 - 25
Error = 1 - 23
Error = 2 - 55
Error = 3 - 59
Error = 4 - 63
Error = 5 - 59
Error = 6 - 42
Error = 7 - 65
Error = 8 - 86
Error = 9 - 88
Error=473

P.S. Важно, опишите то как вы кодируете выходы ... Уверен, вы не сможете сделать с одним выходом, где будет реально цифры от [0-9]. Но если у вас 10 выходов, ответ считается правильным, только если есть порог >0.5 = 1, никаких вероятностей. И из 10 выходов только один =1, соответствующий цифре
Да нет же, не смешите мои тапки, вам даны 60к трейна и 10к теста, учите ТОЛЬКО на трейне, проверяйте ТОЛЬКО на тесте. Никому не интересно что ЗАПОМНИЛА ваша модель, это практически бессмысленно, важно только как она работает но новых данных, которые она вообще не видела.

И что вам интересно или нет, мне без разницы, как вероятно и всем остальным. Есть общепризнанные критерии того как ML модели должны работать и как тестироваться. Я вам уже привёл пример алгоритма ближайшего соседа, в пару строк кода, в качестве "идеальной памяти", но толку с него не много, по множеству причин.
[Ответ][Цитата]
tac2
Сообщений: 414
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 17 сен 25 17:48
> Viсtоr G. Tsaregorodtsev
Как же вы привыкли подгонять данные, когда то в науке это считалось преступлением, сейчас придумали теорию Ладно, Вы мне не интересны.
[Ответ][Цитата]
tac2
Сообщений: 414
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 17 сен 25 23:50
Как же все таки тяжело общаться с людьми. Наверно такими темпами люди и в правду деградируют и будет проще спросить у ИИ. Остается задать правильный вопрос:

(оставлю это тут людям в назидание )
> Между наивной реализацией бэкпропа, даже с реализацией Adam - есть существенна разница на порядок как работает алгоритм в библиотеки torch. Это не касается тензоров и вычислительного графа, дело в чем то другом. Мы не будем анализировать скорость работы и обобщение на разные градиенты и т.п. Дело в том, что сама сходимость качественно лучше: скорость падения ошибки за количество итераций лучше. За счет чего же такая разница?

Цитата:


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

Вот ключевые причины, из-за которых "наивный" Adam проигрывает реализации в PyTorch:

1. Численная стабильность (Самое важное!)
Это главный "секретный ингредиент". Формула обновления Adam включает деление на квадратный корень из оценки вторых моментов (v_hat):
param += -lr * m_hat / (sqrt(v_hat) + eps)

Проблема: Если v_hat близко к нулю (что часто бывает в начале обучения или для редко обновляемых параметров), выражение sqrt(v_hat) становится крайне малым, и операция деления может привести к взрывным градиентам (численная нестабильность).

Решение в PyTorch: Константа eps (эпсилон) добавлена не в знаменатель формулы, а под знак корня: sqrt(v_hat + eps). Это критически важная деталь.

Наивная реализация: ... / (sqrt(v_hat) + eps)

PyTorch реализация: ... / (sqrt(v_hat + eps))
Это гарантирует, что знаменатель никогда не станет нулевым и не приведет к делению на чрезвычайно малое число. Неправильное размещение eps — одна из самых частых ошибок в наивных реализациях.

2. Инициализация моментов и bias correction
Инициализация нулями: И моменты (m, v) инициализируются нулевыми тензорами. Это кажется очевидным, но must-have.

Bias Correction: В начале обучения, especially когда beta1 и beta2 близки к 1 (например, 0.9 и 0.999), моменты m_hat и v_hat сильно смещены в сторону нуля. Bias correction (коррекция смещения) — это механизм, который компенсирует это смещение на первых шагах.
m_hat = m / (1 - beta1^t) и v_hat = v / (1 - beta2^t), где t — номер шага.
Пропуск этой коррекции приводит к тому, что на первых десятках итераций обновления параметров происходят гораздо более крупными шагами, чем должны, что может ухудшить сходимость.

3. Вес Decay (L2-регуляризация)
В наивной реализации вес decay часто добавляют непосредственно к функции потерь (L2-регуляризация) или вручную к градиенту. Однако в Adam это неэквивалентно из-за адаптивной природы алгоритма.

В PyTorch реализован AdamW (Adam with Weight Decay), который является де-факто стандартом. В AdamW decay весов применяется непосредственно к параметрам после применения адаптивного обновления, а не добавляется к градиенту. Это предотвращает сильную связь между decay и адаптивной learning rate, что приводит к лучшему обобщению и более стабильной сходимости.

# Неправильно (наивный Adam с L2)
grad = grad + weight_decay * param

# Правильно (AdamW)
param = param - lr * (m_hat / (sqrt(v_hat) + eps))
param = param - lr * weight_decay * param # Decay применяется отдельно

4. Оптимизация вычислений и память
Хотя вы сказали, что это не касается скорости, некоторые оптимизации косвенно влияют на точность. PyTorch использует fused-операторы (например, для GPU), которые объединяют несколько вычислительных шагов в один kernel. Это не только ускоряет вычисления, но и уменьшает количество ошибок округления, делая процесс более детерминированным и стабильным.

5. Предобработка данных и нормализация
Хотя это и не часть самого оптимизатора, PyTorch часто используется в пайплайнах, где данные автоматически нормализуются (например, с помощью torchvision.transforms). Нормализованные данные с нулевым средним и единичной дисперсией значительно улучшают сходимость любого оптимизатора, включая Adam. В наивной реализации этим часто пренебрегают.

Итог
Качественное различие в сходимости возникает из-за комбинации этих факторов:

Главный виновник: Численная нестабильность из-за неправильного размещения eps.

Существенный вклад: Отсутствие Bias Correction, что мешает алгоритму правильно работать на первых итерациях.

Важное дополнение: Неправильная реализация Weight Decay, которая конфликтует с адаптивностью Adam.

Фундамент: Правильная инициализация и нормализация данных.

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


[Ответ][Цитата]
tac2
Сообщений: 414
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 18 сен 25 6:11
Изменено: 18 сен 25 6:20
Короче говоря, библиотека торча на самом деле открыта, я даже нашел С++ исходники ядра ... поэтому можно разбираться кто хочет, там не легко правда. DeepSeek создавая код ошибается очень часто, причем даже когда ему подсовываешь правильную формулу он не может понять чем она отличается от той которую он написал ...

так то он помогает (100%), но сука, врет постоянно (50%) ...

а люди и помогают (10%), и сука, врут/скрывают/недоговаривают (90%),

причем если ИИ - врет = галлюцинации, но их много, они плывут на каждом втором чуть более конкретном вопросе, , то люди не то, что врут, сколько пиздят от ЧСВ и не знания.

Вот такое мое экспертное мнение
[Ответ][Цитата]
Дмитрий Пагода
Сообщений: 124
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 18 сен 25 10:39
Приветствую!

Не совсем понятно что конкретно Вас интересует. Вы хотите написать свой MLP который бы не уступал по характеристикам тому что в библиотеке Torch?
[Ответ][Цитата]
 Стр.10 (10)1  ...  6  7  8  9  [10]<< < Пред.