• 初识RNN2


    CNN

    卷积神经网络的核心当然是卷积

    存在着一个个填充着数字的小方格,他们被称之为卷积核


    词向量模型

    word2vec

    自然语言处理-词向量模型

    如何将文本向量化

    看词频和总体的个数和整体的关系

    • 改变顺序不应该改变词频
    • 让计算机更好的认识文本
    • 词相近应该再向量上的表达应该是相同的

    学习顺序

    • 先学习神经网络
    • 再了解词向量模型

    如何实现文本向量化

    相近的词应该表达的是相同的含义

    一些小点

    • 在描述一个东西的时候应该要考虑多重的因素
    • 应该从多方面进行研究,综合考虑多个指标
    • 二维空间进行研究显然不合适,信息太少
    • 词向量谷歌推荐使用300维的

    向量和向量之间

    • 做相似度计算
    • 判断哪些词之间是相近的,是相反的
    • 前提是构建不同的词向量

    模型整体框架

    词向量

    无非就是一个值

    • 向量的数值很难表达其含义
    • 训练好一个词向量,并不难
    • 相似的词在特征表达中是比较相似的!也就是说明词的特征是有实际意义的!
    • 很多位置的颜色是相似的!
    • 说明训练结果有效
    • 男人和男孩这个词是相近的!

    考虑?词向量模型中的输入和输出是?

    • 神经网络是黑盒子
    • 神经网络希望他学到说话的关系

    输出

    • 数据如何进行构建
    • 词如何从神经网络输入
    • 一个词用4个小格来表示
    • 词先到词库中找到自己的向量embedding look up
    • 库中的代表怎么来?
      • 随机初始化的操作
      • 随机构造初始化的策略
      • 进行随机初始化

    训练数据构建

    数据从哪来?

    语言是可以跨区域的

    • 一切有正常含义的都可以当成训练数据

    如何构建训练数据

    滑动窗口

    • 任务不需是一个必监督的数据集
    • 拿窗口去扫描即可
    • 构建数据集

    有了训练数据就可以来训练模型了

    不同模型的对比

    CBOW

    • 输入是上下文
    • 输出是当前词

    SKIP-GRAM模型

    每一个窗口进行滑动

    • 得到巨大的词
    • 得到loss函数
    • 反向传播
    • 权重函数如何更新
    • 对结果的影响程度

    两步走

    • 更新权重参数
    • 更新输入数据

    语料库太大,结果太多,最后一层相当于softmax,计算过程耗时耗力,如何解决?

    通过A如何去预测B?

    • A和B同时输入,预测可能性有多大?
    • 希望target标签预测的结果是1
      在这里插入图片描述

    学起来,每天边哭边学

    负采样方案(模型)

    自己额外多做一件事

    • 人为创建一些词
    • 负样本:人为构造出来的
    • 正样本:训练集中存在的东西

    负采样模型使用5个参数比较好

    初始化词向量训练矩阵

    通过神经网络反向传播来更新,此时不光更新权重矩阵W,也会更新输入数据。

    词汇表越更新越准

    知道word2vec训练好,将数据传入神经网络,就可以得到最终的结果

  • 相关阅读:
    Android Socket通讯 分离服务端和客户端、发送表情消息
    Android 使用 GeckoView 并实现 js 交互、权限交互
    网络类型与数据链路层协议
    Centos7 rpm 安装 Mysql 8.0.28
    深入理解Java虚拟机(第3版)学习笔记——Tomcat与OSGI中的类加载机制
    TypeScript中extends的用法
    机器学习笔记(一)
    【TypeScript】深入学习TypeScript函数
    《前端面试题》- React - 如何区分函数组件和类组件
    LeetCode.H76.最小覆盖子串
  • 原文地址:https://blog.csdn.net/weixin_44943389/article/details/127595520