首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在训练强化学习智能体时,tflearn损失始终为0.0

在训练强化学习智能体时,tflearn损失始终为0.0
EN

Stack Overflow用户
提问于 2017-10-23 00:39:02
回答 1查看 238关注 0票数 0

我试着用这个代码训练一个强化学习智能体,使用的是gym和tflearn:

代码语言:javascript
运行
复制
from tflearn import *
import gym
import numpy as np

env = gym.make('CartPole-v0')
x = []
y = []
max_reward = 0

for i in range(1000):
    env.reset()
    while True:
        action = env.action_space.sample()
        observation, reward, done, info = env.step(action)
        if done:
            break
        if reward >= max_reward:
            x.append(observation)
            y.append(np.array([action]))
x = np.asarray(x)
y = np.asarray(y)

net = input_data((None,4))
net = fully_connected(net,8,'softmax')
net = fully_connected(net,16,'softmax')
net = fully_connected(net,32,'softmax')
net = fully_connected(net,64,'softmax')
net = fully_connected(net,128,'softmax')
net = fully_connected(net,64,'softmax')
net = fully_connected(net,32,'softmax')
net = fully_connected(net,16,'softmax')
net = fully_connected(net,8,'softmax')
net = fully_connected(net,4,'softmax')
net = fully_connected(net,2,'softmax')
net = fully_connected(net,1)
net = regression(net,optimizer='adam',learning_rate=0.01,loss='categorical_crossentropy',batch_size=1)
model = DNN(net)

model.fit(x,y,10)
model.save('saved/model.tflearn')

问题是,当模型进行训练时,损失总是0.0。有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2017-10-23 12:11:39

不知道你的目标是什么,但是categorical_crossentropy是一个用于多类分类的损失函数,但是你的网络的输出只是一个具有线性激活的单元fully_connected(net,1),这就是为什么你得到损失0的原因。

尝试使用mean_square甚至binary_crossentropy,您将看到不同的损失值。

我会在最后一层使用sigmoid激活,在其余的层使用relus。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46876614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档