【机器学习】与【深度学习】的前沿探索——【GPT-4】的创新应用

gpt4o年费:一年600,

友友们,一起拼单呀,两人就是300,三个人就是200,以此类推,

我已经开通年费gpt4o,开通时长是
从2024年6月20日到2025年7月16日
有没有一起的呀,有需要的一起呀,目前有三人了,欢迎您的参与!

现在参与一年150元!!!!!!!

拼的多,省得多!

如想一起拼单,加我文末微信,一起拼单!

这是我已购买的gpt4o链接::https://share.nezhagpt.cloud

若需单独购买周卡月卡,也可加我微信购买,有优惠

目录

​编辑

1. 引言

2. GPT-4的架构与工作原理

2.1 Transformer架构详解

2.2 GPT-4的训练过程与数据

3. 深度学习在GPT-4中的应用

3.1 语言模型的创新

3.2 自监督学习的应用

3.3 注意力机制的改进

4. 机器学习技术在GPT-4中的创新

4.1 迁移学习与微调

4.2 强化学习与奖励建模

5. GPT-4的应用场景

5.1 文本生成与创意写作

示例代码:生成创意写作

5.2 自动编程与代码生成

示例代码:生成Python函数

5.3 对话系统与客服应用

示例代码:生成客服对话

5.4 多语言处理与翻译

示例代码:翻译文本

6. GPT-4的技术挑战与局限

6.1 模型规模与计算资源

6.2 数据隐私与伦理问题

6.3 可解释性与透明度

7. 未来展望

7.1 GPT-4的改进方向

模型压缩和能效优化

多模态学习

7.2 深度学习与机器学习的前沿研究

自适应学习

元学习

跨领域迁移学习

7.3 人工智能的未来发展趋势

智能化系统的广泛应用

医疗领域的智能化应用

教育领域的智能化应用

金融领域的智能化应用

人机协作的深入探索

智能体的自主学习和进化

8. 结论


41e67679120342efbb1a775e94c22a5c.png

1. 引言

近年来,人工智能(AI)和自然语言处理(NLP)领域取得了显著进展。GPT-4作为OpenAI推出的最新一代生成式预训练变换器,代表了当前技术的巅峰。本文将详细探讨GPT-4的架构、工作原理、训练过程、以及其在各种应用中的创新运用。

2. GPT-4的架构与工作原理

GPT-4继承了其前身GPT-3的基本框架,但在规模和能力上有了大幅提升。它依然采用Transformer架构,这是一种基于注意力机制的神经网络结构,专为处理序列数据而设计。

2.1 Transformer架构详解

Transformer架构由编码器和解码器组成,但GPT-4仅使用了解码器部分。解码器通过自注意力机制和前馈神经网络层,对输入序列进行处理。自注意力机制允许模型关注序列中的重要部分,从而捕捉复杂的依赖关系。

import torch
import torch.nn as nn

class SimpleAttention(nn.Module):
    def __init__(self, embed_size, heads):
        super(SimpleAttention, self).__init__()
        self.heads = heads
        self.embed_size = embed_size

        self.values = nn.Linear(embed_size, embed_size, bias=False)
        self.keys = nn.Linear(embed_size, embed_size, bias=False)
        self.queries = nn.Linear(embed_size, embed_size, bias=False)
        self.fc_out = nn.Linear(embed_size, embed_size)

    def forward(self, values, keys, query):
        values = self.values(values)
        keys = self.keys(keys)
        queries = self.queries(query)

        energy = torch.einsum("nqhd,nkhd->nhqk", [queries, keys])
        attention = torch.softmax(energy / (self.embed_size ** (1/2)), dim=3)
        out = torch.einsum("nhql,nlhd->nqhd", [attention, values]).reshape(
            query.shape[0], query.shape[1], self.embed_size
        )
        out = self.fc_out(out)
        return out

2.2 GPT-4的训练过程与数据

GPT-4的训练过程涉及大量高质量文本数据的预训练和微调。预训练阶段,模型通过无监督学习,从海量数据中学习语言模式和语义信息。随后,模型根据特定任务进行微调,以提高其在实际应用中的性能。

from transformers import GPT2Tokenizer, GPT2LMHeadModel
from transformers import Trainer, TrainingArguments

tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

train_data = ["your text data here"]  # 训练数据
inputs = tokenizer(train_data, return_tensors="pt", max_length=512, truncation=True, padding=True)

training_args = TrainingArguments(
    output_dir='./results', 
    num_train_epochs=1, 
    per_device_train_batch_size=1,  
    warmup_steps=10,
    weight_decay=0.01,
    logging_dir='./logs',  
)

trainer = Trainer(
    model=model,                        
    args=training_args,                  
    train_dataset=inputs,
)

trainer.train()

3. 深度学习在GPT-4中的应用

3.1 语言模型的创新

GPT-4在语言模型方面的创新主要体现在其强大的生成能力和上下文理解能力。它可以生成连贯、自然的文本,并在多轮对话中保持上下文一致。

prompt = "In a distant future, humanity has colonized Mars. One day, a young scientist discovers a mysterious signal coming from the depths of the planet."
inputs = tokenizer(prompt, return_tensors="pt")
output = model.generate(inputs["input_ids"], max_length=150)
print(tokenizer.decode(output[0], skip_special_tokens=True))

3.2 自监督学习的应用

自监督学习是一种重要的技术,使GPT-4能够从未标注的数据中学习。通过设计各种预训练任务,如填补缺失词、预测下一句等,模型可以有效地获取语言知识。

import random

def create_masked_data(data, tokenizer, mask_token):
    inputs = tokenizer(data, return_tensors="pt", max_length=512, truncation=True, padding=True)
    labels = inputs.input_ids.detach().clone()
    mask_arr = torch.full(labels.shape, fill_value=False)

    for i in range(labels.shape[0]):
        mask_len = random.randint(1, 3)
        mask_indices = random.sample(range(1, labels.shape[1]), mask_len)
        mask_arr[i, mask_indices] = True
        labels[i, mask_indices] = tokenizer.mask_token_id
    
    inputs['labels'] = labels
    return inputs

masked_data = create_masked_data(train_data, tokenizer, tokenizer.mask_token)

3.3 注意力机制的改进

GPT-4在注意力机制上进行了改进,使其能够更好地处理长序列文本。这种改进包括使用稀疏注意力和层次化注意力机制,显著提高了模型的效率和性能。

class SparseAttention(nn.Module):
    def __init__(self, embed_size, heads):
        super(SparseAttention, self).__init__()
        self.heads = heads
        self.embed_size = embed_size

        self.values = nn.Linear(embed_size, embed_size, bias=False)
        self.keys = nn.Linear(embed_size, embed_size, bias=False)
        self.queries = nn.Linear(embed_size, embed_size, bias=False)
        self.fc_out = nn.Linear(embed_size, embed_size)

    def forward(self, values, keys, query):
        values = self.values(values)
        keys = self.keys(keys)
        queries = self.queries(query)

        energy = torch.einsum("nqhd,nkhd->nhqk", [queries, keys])
        mask = self.create_sparse_mask(energy)
        energy = energy.masked_fill(mask == 0, float('-inf'))
        
        attention = torch.softmax(energy / (self.embed_size ** (1/2)), dim=3)
        out = torch.einsum("nhql,nlhd->nqhd", [attention, values]).reshape(
            query.shape[0], query.shape[1], self.embed_size
        )
        out = self.fc_out(out)
        return out
    
    def create_sparse_mask(self, energy):
        mask = torch.full(energy.shape, fill_value=False)
        for i in range(energy.shape[0]):
            mask_len = random.randint(1, 3)
            mask_indices = random.sample(range(1, energy.shape[3]), mask_len)
            mask[i, :, :, mask_indices] = True
        return mask

4. 机器学习技术在GPT-4中的创新

4.1 迁移学习与微调

GPT-4通过迁移学习和微调技术,实现了从通用语言模型到特定任务模型的转换。这使得它在处理各种NLP任务时具有更高的灵活性和准确性。

from transformers import AutoModelForSequenceClassification, TrainingArguments, Trainer

model = AutoModelForSequenceClassification.from_pretrained("gpt2", num_labels=2)
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")

def preprocess_function(examples):
    return tokenizer(examples['text'], truncation=True)

dataset = load_dataset('glue', 'mrpc')
encoded_dataset = dataset.map(preprocess_function, batched=True)

training_args = TrainingArguments(
    output_dir='./results',          
    evaluation_strategy="epoch",     
    learning_rate=2e-5,
    per_device_train_batch_size=16,  
    per_device_eval_batch_size=16,   
    num_train_epochs=3,              
    weight_decay=0.01,               
)

trainer = Trainer(
    model=model,                         
    args=training_args,                  
    train_dataset=encoded_dataset["train"],         
    eval_dataset=encoded_dataset["validation"],
)

trainer.train()

4.2 强化学习与奖励建模

强化学习和奖励建模在GPT-4中被用来优化对话生成的质量。通过设计奖励机制,模型能够生成更有用和相关的回复,从而提升用户体验。

import gym
import numpy as np

class SimpleEnv(gym.Env):
    def __init__(self):
        super(SimpleEnv, self).__init__()
        self.action_space = gym.spaces.Discrete(2)
        self.observation_space = gym.spaces.Discrete(2)

    def step(self, action):
        reward = np.random.random()
        done = np.random.random() > 0.95
        return self._next_observation(), reward, done, {}

    def reset(self):
        return self._next_observation()

    def _next_observation(self):
        return self.observation_space.sample()

env = SimpleEnv()

def train(env, model, epochs=10):
    for epoch in range(epochs):
        state = env.reset()
        done = False
        while not done:
            action = model.predict(state)
            next_state, reward, done, _ = env.step(action)
            model.update(state, action, reward, next_state)
            state = next_state

# Dummy model for demonstration
class DummyModel:
    def predict(self, state):
        return np.random.choice([0, 1])

    def update(self, state, action, reward, next_state):
        pass

model = DummyModel()
train(env, model)

5. GPT-4的应用场景

5.1 文本生成与创意写作

GPT-4在文本生成和创意写作中表现出色,可以帮助用户生成小说、诗歌、剧本等创意作品,极大地激发了创造力。

示例代码:生成创意写作

from transformers import GPT2Tokenizer, GPT2LMHeadModel

# 初始化模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# 输入提示
prompt = "In a distant future, humanity has colonized Mars. One day, a young scientist discovers a mysterious signal coming from the depths of the planet."

# 编码输入并生成文本
inputs = tokenizer(prompt, return_tensors="pt")
output = model.generate(inputs["input_ids"], max_length=150)

# 解码并输出生成的文本
print(tokenizer.decode(output[0], skip_special_tokens=True))

该示例代码展示了如何使用GPT-4生成科幻故事的开头。通过简单的提示,模型可以继续编写故事,使得创作者可以获得灵感并快速生成内容。

5.2 自动编程与代码生成

GPT-4具备生成代码的能力,能够自动完成编程任务,帮助开发者提高效率,减少重复劳动。

示例代码:生成Python函数

# 输入提示
code_prompt = "def fibonacci(n):"

# 编码输入并生成代码
inputs = tokenizer(code_prompt, return_tensors="pt")
output = model.generate(inputs["input_ids"], max_length=50)

# 解码并输出生成的代码
print(tokenizer.decode(output[0], skip_special_tokens=True))

该示例展示了如何使用GPT-4生成Python函数代码。通过提供函数定义的开头,模型可以补全函数的实现,帮助开发者快速编写代码。

5.3 对话系统与客服应用

GPT-4在对话系统和客服应用中被广泛使用,能够处理复杂的用户查询,提供高质量的客户服务。

示例代码:生成客服对话

# 输入提示
conversation_prompt = "Customer: I am unable to reset my password. Can you help me?\nAgent:"

# 编码输入并生成回复
inputs = tokenizer(conversation_prompt, return_tensors="pt")
output = model.generate(inputs["input_ids"], max_length=50)

# 解码并输出生成的回复
print(tokenizer.decode(output[0], skip_special_tokens=True))

该示例展示了如何使用GPT-4生成客服对话。通过输入用户的查询,模型可以生成客服人员的回复,帮助自动化客服系统提供服务。

5.4 多语言处理与翻译

GPT-4支持多语言处理和翻译,能够在不同语言间实现高准确度的翻译,促进了跨语言交流。

示例代码:翻译文本

# 输入提示
translation_prompt = "Translate the following English text to French: 'Hello, how are you?'"

# 编码输入并生成翻译
inputs = tokenizer(translation_prompt, return_tensors="pt")
output = model.generate(inputs["input_ids"], max_length=50)

# 解码并输出生成的翻译
print(tokenizer.decode(output[0], skip_special_tokens=True))

该示例展示了如何使用GPT-4进行语言翻译。通过输入需要翻译的文本,模型可以生成目标语言的翻译结果,支持多语言交流。

6. GPT-4的技术挑战与局限

6.1 模型规模与计算资源

GPT-4的巨大规模对计算资源提出了高要求,训练和部署成本高昂,限制了其普及和应用。

# 示例:大型模型的训练需求
import torch
from transformers import GPT2LMHeadModel, GPT2Tokenizer

# 初始化模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# 检查CUDA是否可用
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

# 假设我们有一个巨大的训练数据集
train_data = ["your large text data here"]

# 定义训练函数
def train_model(train_data):
    for text in train_data:
        inputs = tokenizer(text, return_tensors="pt", max_length=512, truncation=True, padding=True).to(device)
        outputs = model(**inputs, labels=inputs["input_ids"])
        loss = outputs.loss
        loss.backward()
        optimizer.step()
        optimizer.zero_grad()

# 初始化优化器
optimizer = torch.optim.AdamW(model.parameters(), lr=5e-5)

# 训练模型
train_model(train_data)

此示例代码展示了如何训练一个大型模型所需的计算资源和步骤。即使是简化版的训练过程,也需要大量计算资源来处理高维度的数据。

6.2 数据隐私与伦理问题

GPT-4在使用过程中面临数据隐私和伦理问题,需要制定严格的规范和政策,确保技术的安全和合规。

# 示例:数据隐私保护策略
from transformers import GPT2LMHeadModel, GPT2Tokenizer

# 初始化模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# 输入敏感数据处理
sensitive_data = "This is some sensitive data that should not be exposed."

# 数据匿名化
def anonymize_data(data):
    # 假设我们有一个简单的匿名化函数
    return data.replace("sensitive data", "[REDACTED]")

# 匿名化数据
anonymized_data = anonymize_data(sensitive_data)

# 编码输入并生成输出
inputs = tokenizer(anonymized_data, return_tensors="pt")
output = model.generate(inputs["input_ids"], max_length=50)

# 解码并输出结果
print(tokenizer.decode(output[0], skip_special_tokens=True))

此示例代码展示了如何处理敏感数据,通过匿名化技术确保数据隐私保护,防止在生成内容中泄露敏感信息。

6.3 可解释性与透明度

由于模型的复杂性,GPT-4的可解释性和透明度仍然是一个难题,亟需研究和解决。

# 示例:可解释性工具的应用
from transformers import GPT2Tokenizer, GPT2LMHeadModel, pipeline

# 初始化模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# 使用解释工具
from captum.attr import LayerIntegratedGradients

def forward_func(inputs):
    return model(inputs)[0]

lig = LayerIntegratedGradients(forward_func, model.transformer.h[-1])

# 输入文本
text = "Explainable AI is crucial for understanding model decisions."
inputs = tokenizer(text, return_tensors="pt")

# 计算综合梯度
attributions, delta = lig.attribute(inputs["input_ids"], return_convergence_delta=True)

# 打印梯度信息
print(attributions)

7. 未来展望

7.1 GPT-4的改进方向

未来,GPT-4可能在模型压缩、能效优化和多模态学习等方面取得进展,进一步提升性能和应用广度。

模型压缩和能效优化

模型压缩技术,如知识蒸馏和量化,可以显著减少模型的大小和计算需求,从而提高能效。

from transformers import GPT2LMHeadModel, GPT2Tokenizer
from torch.quantization import quantize_dynamic

# 初始化模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# 模型量化
quantized_model = quantize_dynamic(model, {torch.nn.Linear}, dtype=torch.qint8)

# 测试量化模型
prompt = "What is the future of artificial intelligence?"
inputs = tokenizer(prompt, return_tensors="pt")
output = quantized_model.generate(inputs["input_ids"], max_length=50)

print(tokenizer.decode(output[0], skip_special_tokens=True))

多模态学习

多模态学习结合了文本、图像、音频等多种数据类型,使模型能够处理和理解更加复杂的信息。

from transformers import CLIPProcessor, CLIPModel

# 初始化CLIP模型和处理器
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")

# 输入图像和文本
inputs = processor(text=["a photo of a cat"], images=["path_to_image.jpg"], return_tensors="pt", padding=True)

# 模型推理
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image # 图像对应文本的匹配得分
print(logits_per_image)

7.2 深度学习与机器学习的前沿研究

深度学习和机器学习的前沿研究将为GPT-4带来新的技术突破,如自适应学习、元学习和跨领域迁移学习等。

自适应学习

自适应学习使模型能够根据新的数据进行自我调整,提高泛化能力。

import torch
from transformers import GPT2Tokenizer, GPT2LMHeadModel

# 初始化模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# 定义自适应学习函数
def adaptive_learning(model, new_data, tokenizer):
    inputs = tokenizer(new_data, return_tensors="pt", max_length=512, truncation=True, padding=True)
    outputs = model(**inputs, labels=inputs["input_ids"])
    loss = outputs.loss
    loss.backward()
    optimizer.step()
    optimizer.zero_grad()

# 模拟新数据学习
new_data = "Adaptive learning enables models to adjust to new data dynamically."
optimizer = torch.optim.AdamW(model.parameters(), lr=5e-5)
adaptive_learning(model, new_data, tokenizer)

元学习

元学习使模型能够快速学习新任务,极大地提升了模型的适应性和扩展性。

from transformers import GPT2Tokenizer, GPT2LMHeadModel

# 初始化模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# 定义元学习训练任务
def meta_learning_task(task_data, tokenizer, model, optimizer):
    inputs = tokenizer(task_data, return_tensors="pt", max_length=512, truncation=True, padding=True)
    outputs = model(**inputs, labels=inputs["input_ids"])
    loss = outputs.loss
    loss.backward()
    optimizer.step()
    optimizer.zero_grad()

# 模拟元学习任务
task_data = "Meta-learning allows models to learn new tasks quickly and efficiently."
optimizer = torch.optim.AdamW(model.parameters(), lr=5e-5)
meta_learning_task(task_data, tokenizer, model, optimizer)

跨领域迁移学习

跨领域迁移学习使模型能够将知识从一个领域迁移到另一个领域,提高模型在新领域的性能。

from transformers import GPT2Tokenizer, GPT2LMHeadModel

# 初始化模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# 定义迁移学习函数
def transfer_learning(model, source_data, target_data, tokenizer):
    source_inputs = tokenizer(source_data, return_tensors="pt", max_length=512, truncation=True, padding=True)
    target_inputs = tokenizer(target_data, return_tensors="pt", max_length=512, truncation=True, padding=True)
    
    # 先在源数据上训练
    model.train()
    source_outputs = model(**source_inputs, labels=source_inputs["input_ids"])
    loss = source_outputs.loss
    loss.backward()
    optimizer.step()
    optimizer.zero_grad()
    
    # 然后在目标数据上微调
    target_outputs = model(**target_inputs, labels=target_inputs["input_ids"])
    loss = target_outputs.loss
    loss.backward()
    optimizer.step()
    optimizer.zero_grad()

# 模拟迁移学习
source_data = "Data from source domain."
target_data = "Data from target domain."
optimizer = torch.optim.AdamW(model.parameters(), lr=5e-5)
transfer_learning(model, source_data, target_data, tokenizer)

7.3 人工智能的未来发展趋势

人工智能的未来发展趋势包括智能化系统的广泛应用、人机协作的深入探索以及智能体的自主学习和进化。

智能化系统的广泛应用

智能化系统将在各个领域中得到应用,包括医疗、教育、金融等,提升各行业的效率和服务质量。

医疗领域的智能化应用

在医疗领域,AI可以帮助医生诊断疾病、制定治疗方案,并进行个性化的健康管理。

from transformers import AutoModelForSequenceClassification, AutoTokenizer

# 初始化模型和分词器
tokenizer = AutoTokenizer.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")
model = AutoModelForSequenceClassification.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")

# 假设我们有一个医疗记录
medical_record = "Patient has a history of hypertension and is currently experiencing shortness of breath."

# 编码输入并进行分类
inputs = tokenizer(medical_record, return_tensors="pt")
outputs = model(**inputs)

# 输出分类结果
print(outputs.logits)

教育领域的智能化应用

在教育领域,AI可以提供个性化学习路径、智能辅导,并实时评估学生的学习情况。

from transformers import GPT2Tokenizer, GPT2LMHeadModel

# 初始化模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# 输入提示:教育问题
prompt = "Explain the Pythagorean theorem in a simple way."

# 编码输入并生成文本
inputs = tokenizer(prompt, return_tensors="pt")
output = model.generate(inputs["input_ids"], max_length=100)

# 解码并输出生成的文本
print(tokenizer.decode(output[0], skip_special_tokens=True))

金融领域的智能化应用

在金融领域,AI可以用于风险评估、市场预测以及自动化交易,提高金融服务的效率和安全性。

import yfinance as yf
from sklearn.ensemble import RandomForestClassifier

# 获取股票数据
data = yf.download("AAPL", start="2020-01-01", end="2021-01-01")

# 数据预处理
data['Returns'] = data['Close'].pct_change()
data = data.dropna()

# 特征和标签
X = data[['Open', 'High', 'Low', 'Close', 'Volume']]
y = (data['Returns'] > 0).astype(int)

# 初始化模型
model = RandomForestClassifier()

# 拆分训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model.fit(X_train, y_train)

# 预测并评估
predictions = model.predict(X_test)
from sklearn.metrics import accuracy_score
print("Accuracy:", accuracy_score(y_test, predictions))

人机协作的深入探索

未来的人机协作将更加紧密,机器将能够理解和响应人类的需求,提高协作的效率和效果。

示例:智能助手

智能助手可以帮助用户完成日常任务,如安排日程、发送邮件、查询信息等。

from transformers import pipeline

# 初始化对话模型
nlp = pipeline("conversational", model="microsoft/DialoGPT-medium")

# 用户输入
conversation = "What's my schedule for today?"

# 模型生成回复
response = nlp(conversation)

# 输出回复
print(response)

智能体的自主学习和进化

智能体将具备更强的自主学习能力,能够在不断变化的环境中自我进化,提高适应性和智能水平。

示例:强化学习

强化学习使智能体能够通过与环境的交互进行学习,优化其行为策略。

import gym
import numpy as np

# 创建环境
env = gym.make('CartPole-v1')

# 初始化Q表
Q = np.zeros([env.observation_space.shape[0], env.action_space.n])

# 定义参数
alpha = 0.1
gamma = 0.6
epsilon = 0.1

# Q-learning算法
for episode in range(1000):
    state = env.reset()
    done = False
    while not done:
        if np.random.uniform(0, 1) < epsilon:
            action = env.action_space.sample()
        else:
            action = np.argmax(Q[state])
        next_state, reward, done, _ = env.step(action)
        old_value = Q[state, action]
        next_max = np.max(Q[next_state])
        new_value = (1 - alpha) * old_value + alpha * (reward + gamma * next_max)
        Q[state, action] = new_value
        state = next_state

# 测试智能体
state = env.reset()
done = False
while not done:
    action = np.argmax(Q[state])
    state, reward, done, _ = env.step(action)
    env.render()

8. 结论

GPT-4在机器学习和深度学习技术的推动下,展现出强大的语言生成和理解能力。尽管面临诸多挑战,但其创新应用为各行各业带来了无限可能。未来,随着技术的不断进步和研究的深入,GPT-4将继续引领AI领域的发展,推动智能社会的到来。bbf81a4804634ede8b379269dc7a6f42.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/728044.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在SQL中使用explode函数展开数组的详细指南

目录 简介示例1&#xff1a;简单数组展开示例2&#xff1a;展开嵌套数组示例3&#xff1a;与其他函数结合使用处理结构体数组示例&#xff1a;展开包含结构体的数组示例2&#xff1a;展开嵌套结构体数组 总结 简介 在处理SQL中的数组数据时&#xff0c;explode函数非常有用。它…

VScode中js关闭烦人的ts检查

类似如下的代码在vscode 会报错&#xff0c;我们可以在前面添加忽略检查或者错误&#xff0c;如下&#xff1a; 但是&#xff01;&#xff01;&#xff01;这太不优雅了&#xff01;&#xff01;&#xff01;&#xff0c;js代码命名没有问题&#xff0c;错在ts上面&#xff0c;…

window安装miniconda

下载 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 安装 双击安装 配置环境变量 添加&#xff1a;PYTHONUSERBASE你的安装路径 添加Path&#xff1a; cmd执行&#xff1a; python -m site将USER_SITE添加进Path 还需要将如下添加进环境变量 D:\Miniconda…

C++学习/复习16---优先级队列/仿函数/反向迭代器

一、优先队列与堆 1.1概念 1.2第k个元素 仿函数&#xff1a; **仿函数&#xff08;Functor&#xff09;是一种通过重载operator()运算符的类或结构体&#xff0c;调用使得对象可以像函数一样被**。在C编程中&#xff0c;仿函数不仅增添了编程的灵活性和功能的强大性&#xff…

【TIM输出比较】

TIM输出比较 1.简介1.1.输出比较功能1.2.PWM 2.输出比较通道2.1.结构原理图2.2.模式分类 3.输出PWM波形及参数计算4.案例所需外设4.1.案例4.2.舵机4.3.直流单机 链接: 15-TIM输出比较 1.简介 1.1.输出比较功能 输出比较&#xff0c;英文全称Output Compare&#xff0c;简称O…

Linux守护进程简介、创建流程、关闭和实例演示

1、什么是守护进程&#xff1f; 守护进程是一个后台运行的进程&#xff0c;是随着系统的启动而启动&#xff0c;随着系统的终止而终止&#xff0c;类似于windows上的各种服务&#xff0c;比如ubuntu上的ssh服务&#xff0c;网络管理服务等都是守护进程。 2、守护进程的创建流…

基于ysoserial的深度利用研究(命令回显与内存马)

0x01 前言 很多小伙伴做反序列化漏洞的研究都是以命令执行为目标&#xff0c;本地测试最喜欢的就是弹计算器&#xff0c;但没有对反序列化漏洞进行深入研究&#xff0c;例如如何回显命令执行的结果&#xff0c;如何加载内存马。 遇到了一个实际环境中的反序列化漏洞&#xff…

数据集MNIST手写体识别 pyqt5+Pytorch/TensorFlow

GitHub - LINHYYY/Real-time-handwritten-digit-recognition: VGG16和PyQt5的实时手写数字识别/Real-time handwritten digit recognition for VGG16 and PyQt5 pyqt5Pytorch内容已进行开源&#xff0c;链接如上&#xff0c;请遵守开源协议维护开源环境&#xff0c;如果觉得内…

每日复盘-202406020

今日关注&#xff1a; 20240620 六日涨幅最大: ------1--------300462--------- 华铭智能 五日涨幅最大: ------1--------300462--------- 华铭智能 四日涨幅最大: ------1--------300462--------- 华铭智能 三日涨幅最大: ------1--------300462--------- 华铭智能 二日涨幅最…

javaWeb项目-ssm+vue企业台账管理平台功能介绍

本项目源码&#xff1a;javaweb项目ssm-vue企业台账管理平台源码-说明文档资源-CSDN文库 项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboo…

代码随想录训练营Day 63|力扣42. 接雨水、84.柱状图中最大的矩形

1.接雨水 代码随想录 代码&#xff1a;(单调栈) class Solution { public:int trap(vector<int>& height) {int result 0;stack<int> st;st.push(0);for(int i 1; i < height.size(); i){if(height[i] < height[st.top()]){st.push(i);}else if(heigh…

【02】区块链技术应用

区块链在金融、能源、医疗、贸易、支付结算、证券等众多领域有着广泛的应用&#xff0c;但是金融依旧是区块链最大且最为重要的应用领域。 1. 区块链技术在金融领域的应用 1.2 概况 自2019年以来&#xff0c;国家互联网信息办公室已发布八批境内区块链信息服务案例清单&#…

IT人周末兼职跑外面三个月心得分享

IT人周末兼职跑外面三个月心得分享 这四个月来&#xff0c;利用周末的时间兼职跑外面&#xff0c;总共完成了564单&#xff0c;跑了1252公里&#xff0c;等级也到了荣耀1&#xff0c;周末不跑就会减分。虽然收入只有3507.4元。 - 每一次的接单&#xff0c;每一段路程&#xff…

8.12 矢量图层面要素单一符号使用四(线符号填充)

文章目录 前言线符号填充&#xff08;Line pattern fill&#xff09;QGis设置面符号为线符号填充&#xff08;Line pattern fill&#xff09;二次开发代码实现线符号填充&#xff08;Line pattern fill&#xff09; 总结 前言 本章介绍矢量图层线要素单一符号中使用线符号填充…

Day 44 Ansible自动化运维

Ansible自动化运维 几种常用运维工具比较 ​ Puppet ​ —基于 Ruby 开发,采用 C/S 架构,扩展性强,基于 SSL,远程命令执行相对较弱ruby ​ SaltStack ​ —基于 Python 开发,采用 C/S 架构,相对 puppet 更轻量级,配置语法使用 YAML,使得配置脚本更简单 ​ Ansible ​ —基于 …

基于MATLAB的误码率与信噪比(附完整代码与分析)

目录 一. 写在前面 二. 如何计算误码率 三. 带噪声的误码率分析 3.1 代码思路 3.2 MATLAB源代码及分析 四. 总结 4.1 输入参数 4.2 规定比特长度 4.3 特殊形式比较 一. 写在前面 &#xff08;1&#xff09;本文章主要讨论如何仿真误码率随着信噪比变化的图像 &#…

Hi3861 OpenHarmony嵌入式应用入门--0.96寸液晶屏 iic驱动ssd1306

使用iic驱动ssd1306&#xff0c;代码来源hihope\hispark_pegasus\demo\12_ssd1306 本样例提供了一个HarmonyOS IoT硬件接口的SSD1306 OLED屏驱动库&#xff0c;其功能如下&#xff1a; 内置了128*64 bit的内存缓冲区&#xff0c;支持全屏刷新;优化了屏幕刷新速率&#xff0c;…

Unity URP简单烘焙场景步骤

Unity URP简单烘焙场景步骤 前言项目场景布置灯光模型Lighting设置环境设置烘焙前烘焙后增加角色 前言 项目中要烘焙一个3D场景&#xff0c;用的URP渲染管线&#xff0c;简单记录一下。 项目 场景布置 灯光 因为场景中有能动的东西&#xff0c;需要一部分实时光照&#xf…

SAP BC OBB8 自解释字段50个字符加到100个字符的长度

开整 SE11 复制TEXT1_052 -> ZTEXT1_052 并把域 改成TEXT100 se11 修改T052 激活 报错了&#xff0c;是个视图的问题 参考 SAP COEP V_COEP列不一致的问题及处理_sap coep表报错-CSDN博客 更新一下 再激活成功了 但是OBB8 保存的还是50个字符长度 &#xff0c;中…

Diffusion 扩散模型(DDPM)

Diffusion 扩散模型&#xff08;DDPM&#xff09; 一、什么是扩散模型&#xff1f; 随着Stable Diffusion 3的问世&#xff0c;AI绘画再次成为最为火热的AI方向之一&#xff0c;那么不可避免地再次会问到Stable Diffusion里的这个”Diffusion”到底是什么&#xff1f;其实扩散…