<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3895305</guid>
        <pubDate>Wed, 27 Sep 2023 07:37:01 +0000</pubDate>
        <title>стохастический градиентный спуск</title>
        <link>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3895305</link>
        <description><![CDATA[Betelgeuse: <a class='tag-url' href='https://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D1%82%D0%BE%D1%85%D0%B0%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B3%D1%80%D0%B0%D0%B4%D0%B8%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B9_%D1%81%D0%BF%D1%83%D1%81%D0%BA' target='_blank'>https://neerc.ifmo.ru/wiki/index.php?title=...%83%D1%81%D0%BA</a>]]></description>
        <author>Betelgeuse</author>
        <category>Нейросети и Искусственный интеллект (Artificial Intelligence)</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3842530</guid>
        <pubDate>Tue, 01 Dec 2020 18:43:56 +0000</pubDate>
        <title>стохастический градиентный спуск</title>
        <link>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3842530</link>
        <description><![CDATA[доктор Рагин: Пакетный градиентный спуск быстрее потому что мы сначала прохожим 200 раз вперёд, рассчитывает СРЕДНЮЮ ошибку и дальше один раз проходом назад алгоритмом обратного распространения ошибки рассчитывает новые веса. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2020-12-01T18:52:59+00:00">01.12.20, 18:52</time></span></span><br>
Обратная сторона медали: поскольку веса пересчитываются на основании входных данных, то нам приходится хранить весь пакет в памяти. Все 200 фоток. А при стахостическом спуске можно по одной фотке из файла подгружать.]]></description>
        <author>доктор Рагин</author>
        <category>Нейросети и Искусственный интеллект (Artificial Intelligence)</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3842497</guid>
        <pubDate>Mon, 30 Nov 2020 08:59:21 +0000</pubDate>
        <title>стохастический градиентный спуск</title>
        <link>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3842497</link>
        <description><![CDATA[protoder: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=420649&view=findpost&p=3842478'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>доктор Рагин &#064; <time class="tag-quote__quoted-time" datetime="2020-11-29T02:36:38+00:00">29.11.20, 02:36</time></span><div class='quote '></div></div><br>
То есть мы считаем суммарный градиент как сумма градиентов для всех значений в батче? И потом по нему определяем смещения для коэффициентов? Странно, казалось бы наоборот медленнее должно быть обучение]]></description>
        <author>protoder</author>
        <category>Нейросети и Искусственный интеллект (Artificial Intelligence)</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3842478</guid>
        <pubDate>Sun, 29 Nov 2020 02:36:38 +0000</pubDate>
        <title>стохастический градиентный спуск</title>
        <link>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3842478</link>
        <description><![CDATA[доктор Рагин: Есть понятие batch_size. Это размер пакета. Batch_size = 1 значит статистический градиентный спуск. В этом случае веса корректируется после каждой картинки. Это гораздо медленнее. Могу поделиться своим опытом. Серьёзная большая нейронная сеть для распознавания эмоций по лицам. Сверточная сеть. Batch_size вначале стояло 200 и падала с ошибкой memoryerror. Сначала все веса хранит в памяти и потом вычисляет среднее приращение по всему пакету и корректирует веса сразу для пакета. Потом уменьшили бэтч сайз до 20 и сетка считалась сутки но без ошибок. Потом плюнули и сдали так курсовик и препод поставил тройку. Ну нет времени у меня искать оптимальный batch_size&#33; <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2020-11-29T02:43:08+00:00">29.11.20, 02:43</time></span></span><br>
Ещё чем больше размер пакета, тем помехоустойчивость выше и можно с большим шагом <br>
Альфа идти. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2020-11-29T02:49:25+00:00">29.11.20, 02:49</time></span></span><br>
Если пакет - 200, то с одними весами алгоритм работает весь пакет.]]></description>
        <author>доктор Рагин</author>
        <category>Нейросети и Искусственный интеллект (Artificial Intelligence)</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3841866</guid>
        <pubDate>Sun, 08 Nov 2020 15:16:36 +0000</pubDate>
        <title>стохастический градиентный спуск</title>
        <link>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3841866</link>
        <description><![CDATA[protoder: Огромное спасибо.<br>А но действительно того стоит? Ведь сети на - как теперь оказалось - стохастическом спуске, когда коэффициенты меняют после каждого шага, вроде работают очень не плохо. При том, что эта схема сильно проще и гораздо быстродейственнее.]]></description>
        <author>protoder</author>
        <category>Нейросети и Искусственный интеллект (Artificial Intelligence)</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3841853</guid>
        <pubDate>Sun, 08 Nov 2020 08:53:02 +0000</pubDate>
        <title>стохастический градиентный спуск</title>
        <link>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3841853</link>
        <description><![CDATA[Pavia: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=420649&view=findpost&p=3841843'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>protoder &#064; <time class="tag-quote__quoted-time" datetime="2020-11-07T20:05:11+00:00">07.11.20, 20:05</time></span><div class='quote '>Черт с ними, с терминами. НО - как мы можем выполнить обратное распределение по всем 60000 примерам? </div></div><br>
От 60000 мы считаем энтропию одно число определяющее меру беспорядка. Вернее у нас по каждому выходу свое число. <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=420649&view=findpost&p=3841843'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>protoder &#064; <time class="tag-quote__quoted-time" datetime="2020-11-07T20:05:11+00:00">07.11.20, 20:05</time></span><div class='quote '>Черт с ними, с терминами. НО - как мы можем выполнить обратное распределение по всем 60000 примерам? Мы можем определить частные производные - что по значению входов, что по коэффициентам W - только для конкретной входной комбинации. Для одного примера. Как можно ее определить по сразу 50000 входов?</div></div><br>
Есть такое вначале берут 100 примеров по ним рассчитывают ошибку потом считают энтропию типа как средняя ошибка и используют в качестве вектора ошибки. Потом снова берут эти 100 и прогоняют для обучения весов.<br>
А что бы не гонять 2 раза каждый раз придумали с накоплением по времени считать. <br>
Adaptive subgradient methods <br>
<a class='tag-url' href='https://habr.com/ru/post/318970/' target='_blank'>https://habr.com/ru/post/318970/</a><br>
<a class='tag-url' href='https://arxiv.org/pdf/1212.5701.pdf' target='_blank'>https://arxiv.org/pdf/1212.5701.pdf</a>]]></description>
        <author>Pavia</author>
        <category>Нейросети и Искусственный интеллект (Artificial Intelligence)</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3841843</guid>
        <pubDate>Sat, 07 Nov 2020 20:05:11 +0000</pubDate>
        <title>стохастический градиентный спуск</title>
        <link>https://forum.sources.ru/index.php?showtopic=420649&amp;view=findpost&amp;p=3841843</link>
        <description><![CDATA[protoder: Здравствуйте. Поясните пожалуйста, кто понимает. <br>До какого-то момента идея стохастического градиентного спуска мне казалась ясной. Но тут наткнулся на одну статью, и вся ясность пропала. И чем дальше копаю, тем все хуже. ТО есть по началу я просто решил, что в статье ошибка. Но ет - многие авторы с ней солидарны.<br>Вот смотрите. Пусть у меня нейросеть для распознавания цифр. Есть MNIST, 60000 примеров картинок 28х28, то есть 784 входа. Я делаю алгоритм обратного распределения методом градиентного спуска. Как я привык? Я беру один пример, прогоняю ее через сетку, и сразу же корректирую коэффициенты методом обратного распространения. ОК. Я полагал, что это и есть нормальный градиентный спуск. А схоластический - это когда я в каждом шаге беру не все 784 входа, а только его часть.<br>Так вот. Я натолкнулся на другой алгоритм. Что вроде бы мы прогоняем все 60000 примеров, определяем вероятность ошибки (Cross entropy loss, я так понимаю), и только тут корректируем веса. А стохастический градиентный спуск - это когда мы берем один пример ( то есть то, что раньше я считал обычным градиентным спуском). Ну или не один пример, а несколько. <br>Черт с ними, с терминами. НО - как мы можем выполнить обратное распределение по всем 60000 примерам? Мы можем определить частные производные - что по значению входов, что по коэффициентам W - только для конкретной входной комбинации. Для одного примера. Как можно ее определить по сразу 50000 входов?<br>Что-то я где-то не так понял. Буду очень признателен, если прольете свет.]]></description>
        <author>protoder</author>
        <category>Нейросети и Искусственный интеллект (Artificial Intelligence)</category>
      </item>
	
      </channel>
      </rss>
	