DQN(深度Q学习)
通常,强化学习的设置由两部分组成,一个是智能体(Agent),另一个是环境(环境)。
强化学习是学习一个最优策略(policy),可以让智能体(Agent)在特定环境(Environment)中,根据当前状态(state),做出行动(action),从而获得最大回报(奖励)。
DQN要做的就是将卷积神经网络(CNN)和Q-Learning结合起来,CNN的输入是原始图像数据(作为状态State),输出则是每个动作行动对应的价值评估价值函数(Q值) 。
要走的迷宫矩阵
是一个5 * 6的矩阵其中0表示可走,1表示障碍物
现在把迷宫矩阵想象为一张图,高度为5,跨度为6,当走到(行,列)时,令迷宫矩阵在(行,列)处的值为2,当离开(行,列)时,迷宫矩阵在(行,列)处的值恢复为0
预处理
import numpy as np
import pandas as pd
import os
from collections import deque
from sklearn.utils import shuffle
from keras.losses import mean_squared_error
import copy
import random
from keras.models import Model, load_model
from keras.layers import Input, Dense, Reshape, Conv2D, Flatten
# 迷宫矩阵
maze = np.array(
[[0, 0, 0, 0, 0, 0, ],
[1, 0,