超维术士_超维计算及其在人工智能中的作用

超维术士

它是什么? (What is it?)

Don’t be intimidated by the name hyperdimensional computing…Even though it sounds like something from Star Trek, this simply means:

不要被超维计算这个名字所吓倒 ……尽管听起来像是《星际迷航》中的东西,但这仅意味着:

Computing using large vectors (say of 10000 values each)

使用大向量进行计算(每个向量有10000个值)

Why would we do that?

我们为什么要这样做?

As it turns out, such vectors have interesting properties that are appealing to the realm of AI:

事实证明,这些向量具有吸引AI领域的有趣特性:

  • We can pick any number of random vectors from the hyperspace of 10k dimensions and they will all be approximately orthogonal to each other. This nearly garanties that we can generate a fresh vector at any time that do not resemble any previous ones.

    我们可以从10k维的超空间中选择任意数量的随机向量,并且它们将彼此近似正交。 这样几乎可以保证我们可以在任何时候生成一个与以前的相似的新矢量。

  • We can add two vectors to obtain a vector similar to them.

    我们可以添加两个向量以获得类似于它们的向量。

  • We can multiply two vectors to obtain a vector dissimilar to them.

    我们可以两个向量相乘以获得与它们不同的向量。

  • We can represent data holistically (meaning the value is distributed among many data points), making our vector redundent and robust to corruption (we can reconstruct the meaning of a vector as long as we have 60% of its content).

    我们可以整体表示数据(意味着值分布在许多数据点之间),从而使向量变得冗余且对破坏具有鲁棒性(只要向量的内容有60%,就可以重构向量的含义)。

让我们探讨一下我们可以做什么! (Let’s explore what we can do with this!)

示例1:猜测任意文本的语言 (Example 1: Guessing the language of arbitrary text)

Problem: we have text (of any size and content) and we want to guess if it’s French or English.

问题 :我们有文本(任何大小和内容),我们想知道它是法语还是英语。

Solution: compute vectors for each language and input and compare their angles.

解决方案 :计算每种语言和输入的向量,并比较它们的角度。

Steps:

步骤

  1. compute a single vector for each language: one for French, one for English.

    为每种语言计算一个向量:一个用于法语,一个用于英语。
  2. compute a single vector for the input text.

    计算输入文本的单个向量。
  3. compare the input text vector with both language vectors using the cosine similarity. The closest language vector to our input vector is most likely the input’s language.

    使用余弦相似度比较输入的文字向量和两种语言的向量。 与我们的输入向量最接近的语言向量很可能是输入的语言。

Ok… let’s go into each step one by one.

好吧……让我们一步一步地进行。

步骤1:计算一种语言的10k向量 (Step 1: compute a 10k vector for a language)

Given some sample text for say English, the vector generated with it will “represent” the English language (naturally the larger the text the better it will represent it).

给定一些用于说英语的示例文本,用它生成的向量将“代表”英语(自然,文本越大,代表它越好)。

The encoding process works as follows:

编码过程如下:

  • Generate a random 10k vector for each letter and store it. We can use +1 and -1 as the available values, which I’ll call “bipolar vectors”, so the vector will look something like this: [ +1 -1 +1 +1 -
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值