Loading [MathJax]/jax/output/CommonHTML/config.js
部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DeepSeek 技术突围,分层架构 + 前沿算法 + 代码实操的多维破局

DeepSeek 技术突围,分层架构 + 前沿算法 + 代码实操的多维破局

作者头像
羑悻的小杀马特.
发布于 2025-05-03 10:14:31
发布于 2025-05-03 10:14:31
16000
代码可运行
举报
文章被收录于专栏:杀马特杀马特
运行总次数:0
代码可运行

一、简述

DeepSeek 在人工智能领域崭露头角,其强大的功能背后是精妙复杂的底层实现原理。深入探究这些原理,有助于开发者更好地理解、应用以及优化基于 DeepSeek 的相关产品和服务。

二、分层式架构设计

2.1数据预处理层

这一层是 DeepSeek 处理输入数据的起始阶段。其主要职责是接收原始输入,并执行一系列必要的转换操作,以此提升后续计算的效率与准确性。

文本清洗:在自然语言处理任务中,原始文本可能包含各种噪声,如特殊字符、乱码、重复内容等。例如对于输入的一段新闻文本 “这是一则 #热闻 @,关于科技发展 *,但格式有点乱”,文本清洗会去除其中的 “#”“@”“*” 等无意义特殊字符,得到 “这是一则热闻,关于科技发展,但格式有点乱”,使文本更规整,便于后续处理。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import re

text = "这是一则#热闻@,关于科技发展*,但格式有点乱"
clean_text = re.sub(r'[#@*]', '', text)
print(clean_text)

分词:将连续的文本分割成有意义的词汇单元。以英文文本 “DeepSeek is a powerful language model” 为例,分词后得到 [“DeepSeek”, “is”, “a”, “powerful”, “language”, “model”]。对于中文,由于词与词之间没有空格分隔,分词更为复杂,如 “我爱自然语言处理”,分词结果可能是 [“我”, “爱”, “自然语言处理”] 。常见的分词算法有基于词典匹配的方法、基于统计模型的方法等。

利用 Pythonnltk库进行英文分词:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import nltk
from nltk.tokenize import word_tokenize

text = "DeepSeek is a powerful language model"
tokens = word_tokenize(text)
print(tokens)

向量化表示:计算机难以直接处理文本形式的数据,需将其转换为数值向量形式。一种常见的方式是使用词嵌入(Word Embedding)技术,如 Word2Vec、GloVe 等。以 Word2Vec 为例,它能将每个词映射到一个固定维度的向量空间中,使得语义相近的词在向量空间中的距离也较近。例如 “国王” 和 “王后” 这两个词的向量在空间中距离较近,而 “国王” 与 “苹果” 的向量距离则较远。通过这种方式,将文本数据转化为计算机能够理解和处理的数值形式,为后续的深度学习模型提供合适的输入。

以 Word2Vec 为例,使用gensim库训练词向量模型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from gensim.models import Word2Vec
from nltk.tokenize import word_tokenize

sentences = [
    word_tokenize("I love natural language processing"),
    word_tokenize("DeepSeek can process language well")
]
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)
print(model.wv['language'])

在特定应用场景下,该阶段还会开展领域适应性的特征工程工作。比如在医疗领域,对于医学文本,除了上述常规操作,还可能提取疾病名称、症状描述、治疗方法等特定领域特征,增强模型对医学文本的理解与表现力,更好地服务于诸如医疗咨询、疾病诊断辅助等任务。

2.2核心算法层

核心算法层是 DeepSeek 的关键所在,融合了多种前沿的机器学习和深度学习算法,构建起强大的处理能力。

Transformer 结构:DeepSeek 借鉴了 Transformer 家族中的优秀成员,如 BERT(Bidirectional Encoder Representations from Transformers)/RoBERTa(Robustly Optimized BERT Pretraining Approach)作为基础组件,构建起强大的编码器体系。Transformer 结构的核心是自注意力(Self-Attention)机制,它能让模型在处理序列数据(如文本)时,关注序列中不同位置之间的相互关系。例如在句子 “我去商店买苹果” 中,模型通过自注意力机制可以明确 “买” 这个动作与 “苹果” 之间的紧密联系,以及 “我” 是动作的执行者。这种机制摒弃了传统循环神经网络(RNN)按顺序处理数据的方式,能够并行计算,极大地提高了计算效率,同时更好地捕捉长距离依赖关系,使得模型对文本的理解更加深入和准确 。

使用 PyTorch 搭建一个简单的 Transformer 编码器层:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import torch
import torch.nn as nn


class MultiHeadAttention(nn.Module):
    def __init__(self, d_model, num_heads):
        super(MultiHeadAttention, self).__init__()
        self.d_model = d_model
        self.num_heads = num_heads
        self.d_k = d_model // num_heads

        self.W_q = nn.Linear(d_model, d_model)
        self.W_k = nn.Linear(d_model, d_model)
        self.W_v = nn.Linear(d_model, d_model)
        self.W_o = nn.Linear(d_model, d_model)

    def scaled_dot_product_attention(self, Q, K, V, mask=None):
        attn_scores = torch.matmul(Q, K.transpose(-2, -1)) / torch.sqrt(torch.tensor(self.d_k, dtype=torch.float32))
        if mask is not None:
            attn_scores = attn_scores.masked_fill(mask == 0, float('-inf'))
        attn_probs = torch.softmax(attn_scores, dim=-1)
        output = torch.matmul(attn_probs, V)
        return output

    def split_heads(self, x):
        batch_size, seq_length, d_model = x.size()
        return x.view(batch_size, seq_length, self.num_heads, self.d_k).transpose(1, 2)

    def forward(self, Q, K, V, mask=None):
        Q = self.split_heads(self.W_q(Q))
        K = self.split_heads(self.W_k(K))
        V = self.split_heads(self.W_v(V))

        attn_output = self.scaled_dot_product_attention(Q, K, V, mask)
        attn_output = attn_output.transpose(1, 2).contiguous().view(-1, attn_output.size(-2), attn_output.size(-1))
        output = self.W_o(attn_output)
        return output


class TransformerEncoderLayer(nn.Module):
    def __init__(self, d_model, num_heads, d_ff):
        super(TransformerEncoderLayer, self).__init__()
        self.attn = MultiHeadAttention(d_model, num_heads)
        self.norm1 = nn.LayerNorm(d_model)
        self.ffn = nn.Sequential(
            nn.Linear(d_model, d_ff),
            nn.ReLU(),
            nn.Linear(d_ff, d_model)
        )
        self.norm2 = nn.LayerNorm(d_model)

    def forward(self, x, mask=None):
        attn_output = self.attn(x, x, x, mask)
        x = self.norm1(x + attn_output)
        ffn_output = self.ffn(x)
        x = self.norm2(x + ffn_output)
        return x

多模态融合机制:为适应复杂场景下人类多样化的意图表达形式(如图文混排、语音与文本结合等),DeepSeek 引入视觉感知模块,并与语言理解单元紧密结合。例如在处理一篇配有图片的科技文章时,视觉感知模块可以识别图片中的关键物体、场景等信息,语言理解单元处理文本内容,然后通过多模态融合机制将两者信息有机整合。一种常见的融合方式是早期融合,即在模型的较低层就将视觉和语言特征进行拼接或加权求和等操作;还有晚期融合,在模型的较高层,将视觉和语言模块分别处理后的结果进行融合,从而使模型能够全面理解图文信息,给出更准确和丰富的回复。

假设视觉特征通过卷积神经网络提取,语言特征通过上述 Transformer 处理,下面展示早期融合的代码示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import torch
import torch.nn as nn


class VisualModel(nn.Module):
    def __init__(self):
        super(VisualModel, self).__init__()
        self.conv1 = nn.Conv2d(3, 16, kernel_size=3, padding=1)
        self.pool = nn.MaxPool2d(2, 2)
        self.conv2 = nn.Conv2d(16, 32, kernel_size=3, padding=1)
        self.fc1 = nn.Linear(32 * 8 * 8, 128)

    def forward(self, x):
        x = self.pool(torch.relu(self.conv1(x)))
        x = self.pool(torch.relu(self.conv2(x)))
        x = x.view(-1, 32 * 8 * 8)
        x = torch.relu(self.fc1(x))
        return x


class LanguageModel(nn.Module):
    def __init__(self, d_model, num_heads, d_ff):
        super(LanguageModel, self).__init__()
        self.encoder_layer = TransformerEncoderLayer(d_model, num_heads, d_ff)

    def forward(self, x):
        return self.encoder_layer(x)


class EarlyFusionModel(nn.Module):
    def __init__(self, d_model, num_heads, d_ff):
        super(EarlyFusionModel, self).__init__()
        self.visual_model = VisualModel()
        self.language_model = LanguageModel(d_model, num_heads, d_ff)
        self.fc = nn.Linear(128 + d_model, 10)

    def forward(self, visual_input, language_input):
        visual_feature = self.visual_model(visual_input)
        language_feature = self.language_model(language_input)
        fused_feature = torch.cat([visual_feature, language_feature], dim=1)
        output = self.fc(fused_feature)
        return output

持续微调策略:区别于传统的一次性训练模式,DeepSeek 支持在线增量式参数调整方式。随着新样本的不断涌入,模型能够持续更新内部权重分布,以适应不断变化的任务需求和数据特点,保持长久的竞争力。例如在智能客服场景中,每天都会产生大量新的客户咨询对话数据,DeepSeek 可以根据这些新数据,对模型参数进行微调,使得模型对新出现的问题类型、客户表达方式等有更好的理解和应对能力,从而不断提升服务质量。

以微调 BERT 模型进行文本分类为例,使用 Hugging Face 的transformers库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from transformers import BertForSequenceClassification, BertTokenizer, AdamW
import torch
import torch.nn as nn
from torch.utils.data import TensorDataset, DataLoader, RandomSampler, SequentialSampler

# 加载预训练模型和分词器
model_name = 'bert-base-uncased'
tokenizer = BertTokenizer.from_pretrained(model_name)
model = BertForSequenceClassification.from_pretrained(model_name, num_labels=2)

# 模拟数据
texts = ["This is a positive sentence", "This is a negative sentence"]
labels = [1, 0]
encoded_inputs = tokenizer(texts, padding=True, truncation=True, return_tensors='pt')
input_ids = encoded_inputs['input_ids']
attention_mask = encoded_inputs['attention_mask']
labels = torch.tensor(labels)

# 创建数据集和数据加载器
dataset = TensorDataset(input_ids, attention_mask, labels)
dataloader = DataLoader(dataset, sampler=RandomSampler(dataset), batch_size=1)

# 定义优化器和损失函数
optimizer = AdamW(model.parameters(), lr=2e-5)
criterion = nn.CrossEntropyLoss()

# 微调模型
for epoch in range(3):
    model.train()
    total_loss = 0
    for batch in dataloader:
        batch_input_ids, batch_attention_mask, batch_labels = batch
        optimizer.zero_grad()
        outputs = model(batch_input_ids, attention_mask=batch_attention_mask, labels=batch_labels)
        loss = outputs.loss
        loss.backward()
        optimizer.step()
        total_loss += loss.item()
    print(f'Epoch {epoch + 1}, Loss: {total_loss / len(dataloader)}')
2.3服务接口层

服务接口层负责对外提供标准化的 RESTful API,方便第三方开发者轻松集成 DeepSeek 的功能到自己的应用程序中,同时保障良好的用户体验。无论是简单的对话交互功能,还是复杂的业务逻辑定制需求,开发者都能通过调用这些 API 实现。例如,一个在线教育平台想要为学生提供智能答疑服务,开发者可以通过调用 DeepSeek 的 API,将用户输入的问题发送给 DeepSeek,接收并展示其返回的答案,快速为平台增添智能交互功能 。

使用 Flask 框架搭建一个简单的 API 服务,模拟与 DeepSeek 交互的服务接口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask, request, jsonify

app = Flask(__name__)


@app.route('/chat', methods=['POST'])
def chat():
    data = request.get_json()
    # 这里模拟调用DeepSeek服务,实际需替换为真实API调用
    messages = data.get('messages', [])
    # 假设DeepSeek回复内容
    reply = "这是模拟的DeepSeek回复"
    result = {
        "choices": [
            {
                "message": {
                    "content": reply
                }
            }
        ]
    }
    return jsonify(result)


if __name__ == '__main__':
    app.run(debug=True)

三、代码示例展示

通过 Python 语言展示如何通过 API 与 DeepSeek 进行交互。

3.1单次对话示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import json

# 设置API端点
API_ENDPOINT = "https://api.deepseek.com/v1/chat/completions"
# 设置请求头,包含内容类型和授权信息(假设API_KEY为你的密钥,实际需替换)
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer API_KEY"
}
# 定义请求数据
data = {
    "messages": [
        {
            "role": "user",
            "content": "请介绍一下Python语言的特点"
        }
    ]
}
# 发送POST请求
response = requests.post(API_ENDPOINT, headers=headers, data=json.dumps(data))
if response.status_code == 200:
    result = response.json()
    reply = result["choices"][0]["message"]["content"]
    print("DeepSeek的回复:", reply)
else:
    print(f"请求失败,状态码:{response.status_code},错误信息:{response.text}")

首先导入requests库用于发送 HTTP 请求,json库用于处理 JSON 数据。接着设置 API 端点和请求头,其中请求头包含了内容类型和授权信息。然后定义请求数据,这里通过messages列表存储对话信息,其中role为 “user” 表示用户角色,content为用户输入的问题。最后发送 POST 请求,若请求成功(状态码为 200),则从响应中提取 DeepSeek 的回复并打印;否则,打印错误信息。

3.2多轮对话示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import json

API_ENDPOINT = "https://api.deepseek.com/v1/chat/completions"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer API_KEY"
}
# 初始化消息列表,用于存储对话历史
messages = []
while True:
    user_input = input("你:")
    if user_input.lower() == "退出":
        break
    messages.append({"role": "user", "content": user_input})
    data = {"messages": messages}
    response = requests.post(API_ENDPOINT, headers=headers, data=json.dumps(data))
    if response.status_code == 200:
        result = response.json()
        reply = result["choices"][0]["message"]["content"]
        messages.append({"role": "assistant", "content": reply})
        print("DeepSeek:", reply)
    else:
        print(f"请求失败,状态码:{response.status_code},错误信息:{response.text}")

首先同样进行了 API 端点和请求头的设置。然后初始化一个messages列表用于存储对话历史。通过一个while循环不断接收用户输入,当用户输入 “退出” 时循环结束。每次获取用户输入后,将其添加到messages列表中,构建请求数据并发送请求。若请求成功,将 DeepSeek 的回复添加到messages列表中,并打印回复内容;若失败,则打印错误信息。这样就实现了与 DeepSeek 的多轮交互对话功能。

四、小结

DeepSeek 通过分层式架构设计,在数据预处理层对原始输入进行清洗、分词和向量化等操作,并根据领域需求开展特征工程;核心算法层运用 Transformer 结构、多模态融合机制以及持续微调策略,打造强大的处理能力;服务接口层提供标准化 API,方便开发者集成应用。通过上述代码示例,我们也了解了如何与 DeepSeek 进行交互。深入理解这些底层实现原理和交互方式,能够帮助开发者更好地利用 DeepSeek 的优势,开发出更具创新性和实用性的应用程序,推动人工智能技术在各个领域的广泛应用和发展。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​一文带你了解:人工智能大模型:技术原理、应用与未来发展
近年来,人工智能领域取得了前所未有的突破,尤其是以GPT(Generative Pre-trained Transformer)、LLaMA、Claude等为代表的大型语言模型(Large Language Models,LLMs)引领了一场技术革命。这些大模型凭借数十亿甚至数千亿参数的规模,展现出了接近人类的语言理解和生成能力,为人工智能的应用开辟了广阔前景。本文将深入探讨AI大模型的技术原理、训练方法、应用场景以及未来发展趋势,并提供丰富的代码示例,帮助读者更好地理解和应用这些技术。
远方2.0
2025/04/04
2630
BERT代码实现及解读
$$ \text{Attention}(\boldsymbol{Q},\boldsymbol{K},\boldsymbol{V}) = \text{softmax}(\frac{\boldsymbol{Q}\boldsymbol{K}^T}{\sqrt{d_k}})\boldsymbol{V} $$
机械视角
2019/10/23
1.2K0
BERT代码实现及解读
了解AIGC——自然语言处理与生成
近年来,AIGC(AI Generated Content)技术迅猛发展,自然语言处理(Natural Language Processing, NLP)与生成技术的结合,使得机器不仅能够理解人类语言,还能进行文本的创作和生成。这一能力广泛应用于文本创作、对话系统、语言翻译、内容推荐等场景。本文将深入探讨自然语言处理与生成的核心技术、关键模型,以及如何通过代码实现一些重要功能。
hope kc
2024/11/21
2290
计算机视觉中的注意力:PyTorch中实现MultiHead和CBAM
自从Transformer在“注意力就是你所需要的”的工作中被引入以来,在自然语言处理领域已经发生了一个转变,即用基于注意力的网络取代循环神经网络(RNN)。在当前的文献中,已经有很多很棒的文章描述了这种方法。下面是我在评论中发现的两个最好的:带注释的Transformer和Transformer的可视化解释。
deephub
2021/07/01
5930
Transformer - 3 - Transformer 的实现
Transformer 模型来源于 Google 发表的一篇论文 “Attention Is All You Need”,希望大家能在有一些了解的基础上,能够自己读一下这篇文章。
为为为什么
2023/05/11
6300
Transformer - 3 - Transformer 的实现
[DeepSeek]代码智能的新纪元:深度解析DeepSeek Coder的能力边界
在人工智能辅助编程的快速发展中,DeepSeek Coder作为中国本土的代码大模型,凭借其出色的编程能力在全球范围内引起广泛关注。本文将深入剖析DeepSeek Coder的技术原理、能力边界以及未来发展潜力,探讨AI辅助编程的新纪元。
远方2.0
2025/03/25
2790
[DeepSeek]代码智能的新纪元:深度解析DeepSeek Coder的能力边界
BERT的PyTorch实现
本文主要介绍一下如何使用 PyTorch 复现BERT。请先花上 10 分钟阅读我的这篇文章 BERT详解(附带ELMo、GPT介绍),再来看本文,方能达到醍醐灌顶,事半功倍的效果
mathor
2020/07/27
9230
【论文复现】股票评论的情感分类器
下面我将使用Pytorch框架来对《Sentiment analysis method based on sentiment lexicon and Transformer》一文中的Transformer情感分类器进行实现,在这里,我使用现有的2022年英文股评数据集作为初始数据,为其创建情感词典,实现句子转向量并完成Transformer模型的训练过程。
Eternity._
2024/12/24
950
【论文复现】股票评论的情感分类器
10分钟带你深入理解Transformer原理及实现
基于 Transformer《Attention Is All You Need》构建的模型(比如 Bert ),在多个自然语言处理任务上都取得了革命性的效果,目前已取代 RNN 成为默认选项,可见 Transformer 的厉害之处。
小白学视觉
2021/08/05
2.3K0
10分钟带你深入理解Transformer原理及实现
ChatGPT大揭秘:掌握数据分析与处理的高级技巧与梯度下降优化深度解析
本文旨在深入探讨AI大模型的基本组成,重点解析 Transformer 模型结构、注意力机制、以及预训练与微调的概念。通过详细的技术解析和可运行的示例代码,帮助读者理解大模型的工作原理和内部架构。
Swift社区
2025/01/10
1370
ChatGPT大揭秘:掌握数据分析与处理的高级技巧与梯度下降优化深度解析
pytorch实现的transformer代码分析
代码来源:https://github.com/graykode/nlp-tutorial/blob/master/5-1.Transformer/Transformer-Torch.py
西西嘛呦
2020/08/26
9650
使用Python实现深度学习模型:Transformer模型
Transformer模型自提出以来,已经成为深度学习领域,尤其是自然语言处理(NLP)中的一种革命性模型。与传统的循环神经网络(RNN)和长短期记忆网络(LSTM)不同,Transformer完全依赖于注意力机制来捕捉序列中的依赖关系。这使得它能够更高效地处理长序列数据。在本文中,我们将详细介绍Transformer模型的基本原理,并使用Python和TensorFlow/Keras实现一个简单的Transformer模型。
Echo_Wish
2024/06/08
9650
使用Python实现深度学习模型:Transformer模型
百闻不如一码!手把手教你用Python搭一个Transformer
与基于RNN的方法相比,Transformer 不需要循环,主要是由Attention 机制组成,因而可以充分利用python的高效线性代数函数库,大量节省训练时间。
大数据文摘
2019/05/07
1.1K0
百闻不如一码!手把手教你用Python搭一个Transformer
DeepSeek:搅动人工智能产业风云的鲶鱼效应深度解读
在当今科技飞速发展的时代,人工智能(AI)无疑是最为耀眼的领域之一。众多技术与平台如繁星般涌现,而DeepSeek以其独特的姿态,宛如一条强力的鲶鱼,在人工智能产业的广阔水域中掀起了阵阵波澜。它不仅带来了技术上的创新突破,更在产业格局、开源生态以及社会经济等多个层面引发了深刻变革。本文将深入剖析DeepSeek对人工智能产业所产生的鲶鱼效应,全方位解读其带来的机遇与挑战,通过代码展示其部分技术实现的魅力。
学无止尽5
2025/02/12
2890
深度解析DeepSeek核心机制:从模型架构到应用场景
随着大规模语言模型(LLM)的崛起,DeepSeek作为一款具备卓越性能的AI模型,在代码生成、文本理解、对话交互等多个领域展现了强大能力。本文将深入解析DeepSeek的核心机制,包括其模型架构、训练策略、推理优化及其在实际应用中的表现,并通过代码示例展示其强大之处。
江南清风起
2025/03/14
5230
深度解析DeepSeek核心机制:从模型架构到应用场景
注意力机制在 Transformer 模型中的核心作用剖析
在深度学习领域,Transformer 模型自从被提出以来,就以其卓越的性能在自然语言处理、计算机视觉等多个领域掀起了一场革命。而在 Transformer 模型中,注意力机制(Attention Mechanism)无疑是其核心与灵魂所在。本文将深入探讨注意力机制在 Transformer 模型中的核心作用,并辅以代码示例,帮助大家更好地理解这一关键技术。
倔强的石头_
2025/02/25
3950
深入理解Transformer及其源码解读
深度学习广泛应用于各个领域。基于transformer的预训练模型(gpt/bertd等)基本已统治NLP深度学习领域,可见transformer的重要性。本文结合《Attention is all you need》与Harvard的代码《Annotated Transformer》深入理解transformer模型。 Harvard的代码在python3.6 torch 1.0.1 上跑不通,本文做了很多修改。修改后的代码地址:Transformer。
用户1432189
2019/10/24
2.4K0
深入理解Transformer及其源码解读
基于ResNet和Transformer的场景文本识别
对于自然场景的文字识别我们会遇到了许多不规则裁剪的图像,其中包含文本表示。虽然已经引入了许多复杂的想法来从图像中提取确切的文本。例如光学字符识别 (OCR)、基于 RNN 的 seq2seq 注意方法都是被认为是从结构图像中提取序列信息的传统方法,但许多研究人员发现,很难处理不规则图像和训练时间使他们更加昂贵。基于 RNN 的 seq2seq 注意力方法需要输入的序列表示,这些输入因输入而异,因此很难训练数百万张图像。大多数时间模型无法预测文本或字符,因为我们正在处理自然场景图像。
deephub
2021/07/23
9850
基于ResNet和Transformer的场景文本识别
一文看懂Transformer内部原理(含PyTorch实现)
  "Attention is All You Need" 一文中提出的Transformer网络结构最近引起了很多人的关注。Transformer不仅能够明显地提升翻译质量,还为许多NLP任务提供了新的结构。虽然原文写得很清楚,但实际上大家普遍反映很难正确地实现。
10JQKA
2018/12/28
2.7K0
Transformer的PyTorch实现
文本主要介绍一下如何使用 PyTorch 复现 Transformer,实现简单的机器翻译任务。
mathor
2020/07/15
8590
Transformer的PyTorch实现
推荐阅读
相关推荐
​一文带你了解:人工智能大模型:技术原理、应用与未来发展
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验