이것은 강화 학습을 사용하여 AI가 스네이크 게임을 플레이하도록 훈련시키는 방법에 대한 간단한 가이드입니다. 이 기사에서는 맞춤형 게임 환경을 설정하고 Python으로 표준화된 Stable-Baselines3 알고리즘 라이브러리를 사용하여 AI가 Snake를 플레이하도록 훈련시키는 방법을 단계별로 보여줍니다.
이 프로젝트에서는 사용하기 쉬운 PyTorch 기반 강화 학습(RL) 알고리즘 구현을 제공하는 표준화된 라이브러리인 Stable-Baselines3을 사용합니다.
먼저 환경을 설정합니다. Stable-Baselines 라이브러리에는 내장된 게임 환경이 많이 있습니다. 여기서는 중간에 추가로 교차하는 벽이 있는 클래식 Snake의 수정된 버전을 사용합니다.

더 나은 보상 계획은 음식에 더 가까운 걸음만 보상하는 것입니다. 뱀은 여전히 원을 그리며 걷는 법만 배울 수 있고, 음식에 접근할 때 보상을 받은 다음 돌아서 돌아올 수 있으므로 여기서 주의해야 합니다. 이를 방지하려면 음식을 멀리하는 데에도 동등한 페널티를 주어야 합니다. 즉, 폐쇄 루프의 순 보상이 0이 되도록 보장해야 합니다. 또한 벽에 부딪힐 경우 벌칙을 도입해야 합니다. 어떤 경우에는 뱀이 먹이에 더 가까이 다가가기 위해 벽에 부딪히는 경우도 있기 때문입니다.
대부분의 기계 학습 알고리즘은 상당히 복잡하고 구현하기 어렵습니다. 다행스럽게도 Stable-Baselines3은 이미 여러 가지 최첨단 알고리즘을 구현하고 있습니다. 이 예에서는 PPO(Proximal Policy Optimization)를 사용합니다. 알고리즘이 어떻게 작동하는지 자세히 알 필요는 없지만(관심이 있다면 이 설명 동영상을 확인하세요), 하이퍼파라미터가 무엇이고 어떤 역할을 하는지에 대한 기본적인 이해는 필요합니다. 다행히 PPO에는 그 중 몇 가지만 있으며 다음을 사용합니다.
learning_rate: 다른 기계 학습 시나리오와 마찬가지로 정책 업데이트 단계의 크기를 설정합니다. 너무 높게 설정하면 알고리즘이 올바른 솔루션을 찾지 못하거나 복구할 수 없는 방향으로 밀어붙일 수도 있습니다. 너무 낮게 설정하면 훈련 시간이 더 오래 걸립니다. 일반적인 비결은 스케줄러 기능을 사용하여 훈련 중에 이를 조정하는 것입니다.
gamma: 미래 보상에 대한 할인 요소로, 0(즉시 보상만 중요함)과 1(미래 보상은 즉각적인 보상과 동일한 가치를 가짐) 사이입니다. 훈련 효과를 유지하려면 0.9 이상으로 유지하는 것이 가장 좋습니다.
clip_range1+-clip_range: PPO의 중요한 기능으로, 훈련 중에 모델이 크게 변경되지 않도록 하기 위해 존재합니다. 이를 줄이면 이후 학습 단계에서 모델을 미세 조정하는 데 도움이 됩니다.
ent_coef: 기본적으로 값이 높을수록 알고리즘이 최적이 아닌 다양한 작업을 더 많이 탐색하도록 권장되며, 이는 계획이 로컬 보상 최대값을 탈출하는 데 도움이 될 수 있습니다.
일반적으로 말해서, 기본 하이퍼매개변수로 시작하세요.
다음 단계는 미리 결정된 일부 단계에 대해 훈련한 다음 알고리즘이 얼마나 잘 수행되는지 직접 확인한 다음 가장 잘 수행되는 새로운 매개변수로 다시 시작하는 것입니다. 여기서는 다양한 훈련 시간에 대한 보상을 표시합니다.

충분한 단계를 거친 후 뱀 훈련 알고리즘이 특정 보상 값에 수렴하면 훈련을 완료하거나 매개변수를 미세 조정하고 훈련을 계속할 수 있습니다.
가능한 최대 보상에 도달하는 데 필요한 훈련 단계는 문제, 보상 체계 및 하이퍼파라미터에 따라 크게 달라지므로 알고리즘을 훈련하기 전에 최적화하는 것이 좋습니다. 뱀 게임을 하기 위해 AI를 훈련시키는 예의 끝에서 우리는 AI가 미로에서 음식을 찾고 꼬리와의 충돌을 피할 수 있다는 것을 발견했습니다.
위 내용은 Python을 사용하여 AI가 Snake 게임을 하도록 훈련시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

机器学习是一个不断发展的学科,一直在创造新的想法和技术。本文罗列了2023年机器学习的十大概念和技术。 本文罗列了2023年机器学习的十大概念和技术。2023年机器学习的十大概念和技术是一个教计算机从数据中学习的过程,无需明确的编程。机器学习是一个不断发展的学科,一直在创造新的想法和技术。为了保持领先,数据科学家应该关注其中一些网站,以跟上最新的发展。这将有助于了解机器学习中的技术如何在实践中使用,并为自己的业务或工作领域中的可能应用提供想法。2023年机器学习的十大概念和技术:1. 深度神经网

实现自我完善的过程是“机器学习”。机器学习是人工智能核心,是使计算机具有智能的根本途径;它使计算机能模拟人的学习行为,自动地通过学习来获取知识和技能,不断改善性能,实现自我完善。机器学习主要研究三方面问题:1、学习机理,人类获取知识、技能和抽象概念的天赋能力;2、学习方法,对生物学习机理进行简化的基础上,用计算的方法进行再现;3、学习系统,能够在一定程度上实现机器学习的系统。

本文将详细介绍用来提高机器学习效果的最常见的超参数优化方法。 译者 | 朱先忠审校 | 孙淑娟简介通常,在尝试改进机器学习模型时,人们首先想到的解决方案是添加更多的训练数据。额外的数据通常是有帮助(在某些情况下除外)的,但生成高质量的数据可能非常昂贵。通过使用现有数据获得最佳模型性能,超参数优化可以节省我们的时间和资源。顾名思义,超参数优化是为机器学习模型确定最佳超参数组合以满足优化函数(即,给定研究中的数据集,最大化模型的性能)的过程。换句话说,每个模型都会提供多个有关选项的调整“按钮

截至3月20日的数据显示,自微软2月7日推出其人工智能版本以来,必应搜索引擎的页面访问量增加了15.8%,而Alphabet旗下的谷歌搜索引擎则下降了近1%。 3月23日消息,外媒报道称,分析公司Similarweb的数据显示,在整合了OpenAI的技术后,微软旗下的必应在页面访问量方面实现了更多的增长。截至3月20日的数据显示,自微软2月7日推出其人工智能版本以来,必应搜索引擎的页面访问量增加了15.8%,而Alphabet旗下的谷歌搜索引擎则下降了近1%。这些数据是微软在与谷歌争夺生

荣耀的人工智能助手叫“YOYO”,也即悠悠;YOYO除了能够实现语音操控等基本功能之外,还拥有智慧视觉、智慧识屏、情景智能、智慧搜索等功能,可以在系统设置页面中的智慧助手里进行相关的设置。

阅读论文可以说是我们的日常工作之一,论文的数量太多,我们如何快速阅读归纳呢?自从ChatGPT出现以后,有很多阅读论文的服务可以使用。其实使用ChatGPT API非常简单,我们只用30行python代码就可以在本地搭建一个自己的应用。 阅读论文可以说是我们的日常工作之一,论文的数量太多,我们如何快速阅读归纳呢?自从ChatGPT出现以后,有很多阅读论文的服务可以使用。其实使用ChatGPT API非常简单,我们只用30行python代码就可以在本地搭建一个自己的应用。使用 Python 和 C

人工智能在教育领域的应用主要有个性化学习、虚拟导师、教育机器人和场景式教育。人工智能在教育领域的应用目前还处于早期探索阶段,但是潜力却是巨大的。

人工智能在生活中的应用有:1、虚拟个人助理,使用者可通过声控、文字输入的方式,来完成一些日常生活的小事;2、语音评测,利用云计算技术,将自动口语评测服务放在云端,并开放API接口供客户远程使用;3、无人汽车,主要依靠车内的以计算机系统为主的智能驾驶仪来实现无人驾驶的目标;4、天气预测,通过手机GPRS系统,定位到用户所处的位置,在利用算法,对覆盖全国的雷达图进行数据分析并预测。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Dreamweaver Mac版
시각적 웹 개발 도구

뜨거운 주제



