Aspiring Data Science – Telegram
Aspiring Data Science
385 subscribers
465 photos
12 videos
12 files
2.15K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
Forwarded from asisakov
ReLU, GELU, SiLU и ELU

Несколько лет назад на курсах нам рассказывали только про несколько функций активации: sigmoid, tanh, ReLU. Было круто, когда кто-то дополнительно ещё рассказывал про Leaky ReLU. И всего этих четырёх функций активации было достаточно, чтобы шатать сеточки.

Буквально несколько дней назад я слушал разбор статьи, где говорилось о том, что применение ReLU позволяет увеличить скорость инференса с небольшой потерей качества. Сравнение проводилось с функциями активации: GELU, SiLU. Я понял, что немного отстал от современных технологий в DL и решил погуглить и поделиться с вами.

Начнем с функции ReLU (Rectified Linear Unit). Эта функция активации имеет форму f(x) = max(0, x), что делает ее чрезвычайно эффективной для операций с большим количеством признаков, поскольку она увеличивает нелинейность модели без затрат на вычислительные ресурсы и без риска исчезновения градиента. Одним из главных недостатков ReLU является проблема «мертвых нейронов», когда нейроны перестают активироваться и вносить вклад в обучение сети из-за отрицательных значений на входе.

GELU (Gaussian Error Linear Unit), впервые представленная в 2016 году, стала более гладкой альтернативой ReLU. Функция GELU умножает входное значение на вероятность того, что значение будет активировано, что делает ее подходящей для использования в трансформерах и сетях с self-attention. Такая структура приводит к более динамичной адаптации нейронов к разным фазам обучения, позволяя достигать лучших результатов на сложных задачах.

Следующая в нашем списке — SiLU (Sigmoid Linear Unit). Эта функция активации представляет собой произведение входа на сигмоидную функцию от этого же входа, f(x) = x * σ(x). SiLU показала хорошие результаты в экспериментах по глубокому обучению, часто превосходя ReLU по разнообразным метрикам.

ELU (Exponential Linear Unit) добавляет еще одну интересную возможность в арсенал функций активации. В отличие от ReLU, ELU вводит отрицательные значения для отрицательных входов, что помогает сохранять более богатую информацию о распределении входных данных. Функция имеет форму f(x) = x, если x > 0, и f(x) = α(exp(x) - 1), если x ≤ 0, где α — параметр, обычно равный единице. Это улучшает скорость сходимости модели.

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

Пояснение с кодом есть тут
Дополнительное чтиво: 1, 2

#dl #code
1
Forwarded from asisakov
Советы от грандмастера

В отложенных для просмотра вкладок завалялось видео с выступлением Стаса Семенова. Если кто не знает, то это ex-top-1 kaggle grandmaster, который сейчас работает квантом.

В видео он раздаёт советы с рекомендациями, как выбить лучший скор модели. Поделюсь тем, что меня зацепило:

1. Преобразование выхода модели функциями, смещающими распределение предсказаний в более уверенные предикты

2. Отбор только k-ых наблюдений во временных рядах, где соседние точки имеют очень близкие значения (например в HFT)

3. Расчёт критериев, показывающих похожесть 2 признаков

Если вам есть что докинуть, пишите в коменты.

P.S. Кстати, есть конспект от Дэна
mosteller_fifty_challenging_problems_in_statistics.pdf
4.9 MB
#probability

Советую порешать задачки по теорверу ) Классная книжка, читал её школьником и благодаря ей начал программировать (на qbasic).
1
#simulation #optimization

Интересная идея о том, как ускорять симуляции с помощью ML и тем самым помогать быстрой оптимизации. Действительно, почему бы и и нет! Сначала собираем входные параметры системы +итоги симуляций, а дальше симуляцию пробуем заменять быстрой ML моделью.

https://www.youtube.com/watch?v=ohGeGfUCV_A
👍1
#c ++ #bufferoverflow #security

Отчёт ONCD подчёркивает, что около 70 % всех уязвимостей в системе безопасности, выявленных инженерами Microsoft в 2019 году и Google в 2020 году, были связаны именно с нарушениями безопасности памяти. Эта статистика ясно демонстрирует необходимость переосмысления подходов к разработке ПО в контексте нынешней стратегии кибербезопасности США.

В отчёте не только указывается на проблемы с C и C++, но и предлагается ряд альтернатив — языков программирования, признанных «безопасными для памяти». Среди рекомендованных Агентством национальной безопасности (NSA) языков находятся: Rust, Go, C#, Java, Swift, JavaScript и Ruby. Эти языки включают в себя механизмы, предотвращающие распространённые типы атак на память, тем самым повышая безопасность разрабатываемых систем.

https://3dnews.ru/1100993/beliy-dom-rekomendoval-otkazatsya-ot-c-i-c-v-polzu-bezopasnih-yazikov-programmirovaniya
#music #spiritualfront

I’ve seen a thousand mornings,
I’ve lived a million nights.
I’ve walked within the shadows
Beneath the city lights.
I‘ve fought a thousand battles,
I’ve been in a hundred wars.
And I will always live on
Behind closed doors.

https://www.youtube.com/watch?v=JQa6jjR7qoI