CN112585628A - 电子装置及其控制方法 - Google Patents

电子装置及其控制方法 Download PDF

Info

Publication number
CN112585628A
CN112585628A CN201980054821.4A CN201980054821A CN112585628A CN 112585628 A CN112585628 A CN 112585628A CN 201980054821 A CN201980054821 A CN 201980054821A CN 112585628 A CN112585628 A CN 112585628A
Authority
CN
China
Prior art keywords
data
groups
matrix
processor
clustering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980054821.4A
Other languages
English (en)
Inventor
P.卡普尔
李世炯
李桐洙
金炳旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN112585628A publication Critical patent/CN112585628A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3077Sorting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6041Compression optimized for errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/454Vector or matrix data
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了一种电子装置。该电子装置包括存储装置,该存储装置存储人工智能模型中所包括的矩阵;以及处理器。该处理器通过矩阵的行和列中的一者对矩阵的至少一部分中所包括的数据进行划分以形成组,基于组中的每一个中所包括的数据将组聚类成簇,并且对簇的每一个中所包括的数据中通过矩阵的行和列中的另一者划分的数据进行量化。

Description

电子装置及其控制方法
技术领域
本公开涉及一种在人工智能(AI)系统中用于压缩人工智能模型的电子装置及其控制方法,该人工智能系统通过使用诸如深度学习的机器学习算法和其应用来模拟人脑的诸如认知和确定的功能,并且更具体地,涉及一种用于对人工智能模型进行量化的电子装置及其控制方法。
背景技术
近来,在各种领域使用实施人类水平的智力的人工智能系统。人工智能系统是指一种系统,与传统的基于规则的智能系统不同,其中机器可以自己学习、确定和变得更加智能。人工智能系统示出更为提高的辨识率,因为它使用得更多,并且变得能够更正确地理解用户偏好。因此,传统的基于规则的智能系统逐渐被基于深度学习的人工智能系统所取代。
人工智能技术包括机器学习(例如,深度学习)和利用机器学习的元素技术(element technology)。
机器学习是指通过机器自身对输入数据的特性进行分类/学习的算法技术,并且元素技术是指通过使用机器学习算法(诸如深度学习)来模拟人脑的功能(诸如认知和确定),并且包括诸如语言理解、视觉理解、推断/预测、知识表示和操作控制的技术领域。
人工智能技术应用的各个领域的示例如下。语言理解是指辨识人类的语言/文字并对语言/文字进行应用/处理的技术,并且包括自然话音处理、机器翻译、通信系统、查询和应答、语音辨识/合成等。视觉理解是指以类似于人类视觉的方式辨识对象并对其进行处理的技术,并且包括对象的辨识、对象的跟踪、图像的搜索、人的辨识、场景的理解、空间的理解、图像的改善等。推断/预测是指确定信息并且接着进行逻辑推断和预测的技术,并且包括基于知识/概率的推断、优化预测、基于偏好的计划、推荐等。知识表示是指将人类的经验信息自动处理为知识数据的技术,并且包括知识建构(数据生成/分类)、知识管理(数据利用)等。操作控制是指控制车辆的自主驾驶和机器人的移动的技术,并且包括移动控制(导航、碰撞、驾驶)、操作控制(行为控制)等。
同时,人工智能模型存在以下问题:人工智能模型需要大量数据,并且因此需要用于存储数据的高容量的存储器,并且存在操作延迟和能耗量高的问题。相反,在对人工智能模型进行量化的情况下,数据容量可能减小,但是存在人工智能模型的性能劣化的问题。
发明内容
技术问题
提供了一种电子装置及其控制方法,该电子装置可以减小人工智能模型的数据容量同时最小化性能的劣化。
问题的解决方案
附加的方面将部分地在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过所呈现的实施例的实践来了解。
根据实施例的一个方面,提供了一种电子装置,包括:存储装置,该存储装置存储人工智能模型中所包括的矩阵;以及处理器,该处理器被配置为:通过矩阵的行和列中的一者对矩阵的至少一部分中所包括的数据进行划分,以形成多个组,基于多个组中的每一个中所包括的数据将多个组聚类成多个簇,并且对多个簇的每一个中所包括的数据中通过矩阵的行和列中的另一者划分的数据进行量化。
可以基于多个簇中的每一个中所包括的组中的第一组中所包括的第一数据的大小和第二组中所包括的第二数据的大小来获取至少一个代表值,并且可以基于至少一个代表值来将第一数据和第二数据中的每一者转换成二进制代码,并且可以对第一数据和第二数据中的每一者进行量化,并且其中第二数据可以是矩阵的行和列中的另一者与第一数据相同的数据。
处理器可基于多个簇的每一个中所包括的多个组的数量来确定至少一个代表值的数量。
处理器可基于多个组中的每一个中所包括的数据在多维空间中映射多个组中的每一个,并且基于各组在多维空间中的距离来将多个组聚类成多个簇。
处理器可基于K-means算法(K均值算法)将多个组聚类成多个簇。
处理器可根据基于量化矩阵针对输入数据获取输出数据,基于聚类信息来重新排列输出数据,并且聚类信息可以是基于将多个组聚类成多个簇的操作而获取的。
矩阵的至少一部分可以是基于矩阵的行和列中的另一者确定的矩阵的子区域。
根据实施例的另一个方面,提供了一种控制方法,包括:通过矩阵的行和列中的一者对人工智能模型中所包括的矩阵的至少一部分中所包括的数据进行划分,以形成多个组;基于多个组中的每一个中所包括的数据将多个组聚类成多个簇;以及对多个簇的每一个中所包括的数据中的被矩阵的行和列中的另一者划分的数据进行量化。
量化可包括:基于多个簇中的每一个中所包括的组中的第一组中所包括的第一数据的大小和第二组中所包括的第二数据的大小来获取至少一个代表值,并且基于至少一个代表值来将第一数据和第二数据中的每一者转换成二进制代码,并且对第一数据和第二数据中的每一者进行量化,以及第二数据是矩阵的行和列中的另一者与第一数据相同的数据。
量化可包括:基于多个簇的每一个中所包括的多个组的数量来确定至少一个代表值的数量。
聚类可包括:基于多个组中的每一个中所包括的数据在多维空间中映射多个组中的每一个,并且基于各组在多维空间中的距离来将多个组聚类成多个簇。
聚类可包括:基于K-means算法将多个组聚类成多个簇。
控制方法还可包括:根据基于量化矩阵针对输入数据获取输出数据,基于聚类信息来重新排列输出数据,并且聚类信息可以是基于将多个组聚类成多个簇的操作而获取的。
矩阵的至少一部分可以是基于矩阵的行和列中的另一者确定的矩阵的子区域。
根据实施例的另一个方面,提供了一种存储程序的非暂时性计算机可读记录介质,该程序在由电子装置执行时执行操作方法,该操作方法包括:通过矩阵的行和列中的一者对人工智能模型中所包括的矩阵的一部分中所包括的数据进行划分,以形成多个组;基于多个组中的每一个中所包括的数据将多个组聚类成多个簇;以及对多个簇的每一个中所包括的数据中通过矩阵的行和列中的另一者划分的数据进行量化。
根据实施例的另一个方面,提供了一种电子装置,包括:存储装置,该存储装置存储人工智能模型中所包括的矩阵;以及处理器,该处理器被配置为:按照行对矩阵中的数据进行划分,以形成数据的多个组,基于多个组中所包括的数据来将多个组聚类成第一簇和第二簇,并且根据针对每个列根据列中的数据确定的代表值按照列对第一簇中的数据进行量化,并且根据针对每个列根据列中的数据确定的代表值按照列对第二簇中的数据进行量化。
处理器可通过基于多个组中所包括的数据对组中的至少一个重新排序来将多个组聚类成多个簇。
第一簇的每个列的代表值可彼此不同,并且第二簇的每个列的代表值可彼此不同。
为了对第一簇中的数据进行量化,可组合来自至少两列的数据,并且可用一个代表值对组合数据进行量化。
代表值的数量可基于阈值准确度和/或阈值量化误差来确定。
发明的有益效果
根据上述本公开的各种实施例,电子装置可以通过对人工智能模型进行量化来减小数据容量,并且同时,通过减少归因于量化的误差来使性能的劣化最小化。
附图说明
通过以下结合附图而进行的描述,可更清楚了解本公开的某些实施例的上述和其他方面、特征以及优点,在附图中:
图1A是示出根据实施例的电子装置的配置的框图;
图1B是示出根据实施例的电子装置的详细配置的框图;
图2A是用于示出根据实施例的人工智能模型的图;
图2B是用于示出根据实施例的人工智能模型的图;
图3A是用于示出根据实施例的聚类(clustering)方法的图;
图3B是用于示出根据实施例的聚类方法的图;
图3C是用于示出根据实施例的聚类方法的图;
图4A是用于示出根据实施例的量化方法的图;
图4B是用于示出根据实施例的量化方法的图;
图4C是用于示出根据实施例的量化方法的图;
图5A是用于示出根据本公开的另一实施例的量化方法的图;
图5B是用于示出根据本公开的另一实施例的量化方法的图;
图5C是用于示出根据本公开的另一实施例的量化方法的图;
图5D是用于示出根据本公开的另一实施例的量化方法的图;
图5E是用于示出根据本公开的另一实施例的量化方法的图;
图6A是用于示出根据实施例的根据聚类的优点的图;
图6B是用于示出根据实施例的根据聚类的优点的图;
图7A是用于示出根据实施例的根据聚类的附加操作的图;
图7B是用于示出根据实施例的根据聚类的附加操作的图;
图8A是用于示出根据实施例的对矩阵进行划分并对矩阵进行量化的方法的图;
图8B是用于示出根据实施例的对矩阵进行划分并对矩阵进行量化的方法的图;
图9A是用于示出根据实施例的误字率(WER)和准确度的图;
图9B是用于示出根据实施例的误字率(WER)和准确度的图;
图9C是用于示出根据实施例的误字率(WER)和准确度的图;
图10A是示出根据本公开的各种实施例的WER作为图表的图;
图10B是示出根据本公开的各种实施例的WER作为图表的图;
图10C是示出根据本公开的各种实施例的WER作为图表的图;并且
图11是用于示出根据实施例的电子装置的控制方法的流程图。
具体实施方式
发明模式
可以不同地更改本公开的示例性实施例。因此,在附图中示出并且在详细描述中详细地描述具体示例性实施例。然而,应理解,本公开不限于具体示例性实施例,而是包括不脱离本公开的范围和精神的所有更改、等效物和替代。另外,没有详细地描述众所周知的功能或构造,因为它们将不必要地模糊本公开。如本文所使用,术语“第1”或“第一”和“第2”或“第二”可以使用对应部件而不管重要性或次序如何,并且用于将一个部件与另一个部件区分开来而不限制部件。
下文中,将参考附图详细描述本公开的各种实施例。
图1A是说明根据本公开的实施例的电子装置100的配置的框图。如图1A所示,电子装置100包括存储装置110和处理器120。
电子装置100可以是对人工智能模型进行量化的装置。例如,电子装置100是对人工智能模型中包含的矩阵进行量化的装置,并且电子装置100可以是服务器、台式PC、膝上型计算机、智能电话机、平板PC等。另外,在人工智能模型中,可包括多个矩阵,并且电子装置100可对多个矩阵中的一些或全部进行量化。也即,电子装置100可以是可通过对人工智能模型进行量化来减小人工智能模型的数据的大小的任何装置。这里,矩阵可以是例如权重矩阵。
存储装置110与处理器120分开设置,并且存储装置110可被实现为例如硬盘、非易失性存储器、易失性存储器等。
存储装置110可存储包括在人工智能模型中的矩阵。这里,矩阵可以是例如构成人工智能模型的过滤器数据、内核数据等。另外,存储装置110可存储包括在人工智能模型中的多个矩阵。
另选地,存储装置110可存储可用于人工智能模型的数据,并且处理器120可将存储在存储装置110中的数据识别为矩阵。
处理器120控制电子装置100的整体操作。
根据本公开的实施例,处理器120可以被实现为数字信号处理器(DSP)、微处理器和/或时间控制器(TCON)。然而,本公开不限于此,并且处理器120可包括中央处理单元(CPU)、微控制器单元(MCU)、微处理单元(MPU)、控制器、应用处理器(AP)或通信处理器(CP)和ARM处理器中的一个或多个。在一些实施例中,处理器120可包括彼此协同工作的上述中的任一者的多个部件。另外,处理器120可以被实现为其中存储有处理算法的片上系统(SoC)或大规模集成(LSI),或者以现场可编程门阵列(FPGA)的形式实现。
处理器120可通过以矩阵的行和列中的一者为单位划分矩阵的至少一部分中所包括的数据,并且将划分数据识别为多个组,基于包括在多个组中的每个组中的数据将多个组聚类成多个簇,并且在多个簇的每一者中所包括的数据中对通过以矩阵的行和列的中的另一者为单位划分的数据进行量化。
例如,处理器120可基于矩阵的行将4×4矩阵中所包括的数据识别为四个1×4组。在下文中,为了便于解释,将4×4矩阵的第一行中的1×4组描述为第一组,将第二行中的1×4组描述为第二组,将第三行中的1×4组描述为第三组,并且将第四行中的1×4组描述为第四组。
然后,处理器120可基于每个组中所包括的数据将四个组聚类成两个簇。例如,处理器120可将四个组中的第一组和第三组聚类为第一簇,并且将第二组和第四组聚类为第二簇。
然后,处理器120可对每个簇中所包括的多个组中所包括的数据中的相同列中所包括的数据进行量化。在此,用于执行量化的标准可与用于识别组的标准不同。例如,在处理器120以矩阵的“列”为单位划分包括在矩阵的至少一部分中的数据并且将划分的数据标识为多个组的情况下,处理器120可对每个簇中所包括的多个组中所包括的数据中的相同“行”中所包括的数据对进行量化。另选地,在处理器120以矩阵的“行”为单位划分包括在矩阵的至少一部分中的数据并且将划分的数据标识为多个组的情况下,处理器120可对每个簇中所包括的多个组中所包括的数据中的相同“列”中所包括的数据对进行量化。
详细地解释量化方法,处理器120可基于以下来获取至少一个代表值:在多个簇的每一者中所包括的组中的第一组中所包括的第一数据的大小以及第二组中所包括的第二数据的大小,并且基于至少一个代表值将第一数据和第二数据中的每一者转换成二进制代码,并且对第一数据和第二数据中的每一者进行量化。同时,第二数据可以是其中矩阵的行和列中的另一者与第一数据的那种相同的数据。
在前述实施例中,处理器120可对属于被聚类为第一簇的第一组的第一数据进行量化,并且对与属于被聚类为第一簇的第三组的数据中的第一数据在相同列中的第二数据进行量化。例如,处理器120可对属于被聚类为第一簇的第一1×4组的数据中的第一数据进行量化,并且对属于被聚类为第一簇的第三1×4组的数据中的第一数据进行量化。另外,处理器120可对属于被聚类为第一簇的第一1×4组的数据中的第二数据进行量化,并且对属于被聚类为第一簇的第三1×4组的数据中的第二数据进行量化。
通过以上方法,处理器120可对属于被聚类为第一簇的第一组的数据和属于被聚类为第一簇的第三组的数据进行量化,并且可总共对四个数据对进行量化。通过相同的方法,处理器120可对属于被聚类为第二簇的第二组的数据和属于被聚类为第二簇的第四组的数据进行量化,并且可总共对四个数据对进行量化。因此,处理器120可总共对八个数据对进行量化,以对多个组进行量化。
处理器120可基于第一数据和第二数据的大小来对第一数据和第二数据进行量化。例如,如果第一数据是3,并且第二数据是-1,则处理器120可将代表值设置为2,并且将第一数据设置为1,并且将第二数据设置为-1。也即,处理器120可将第一数据3设置为1,并且在稍后还原时,可通过使用代表值2将第一数据3还原为2,以及将第二数据-1设置为-1,并且在稍后还原时,可通过使用代表值2将第二数据-1还原为-2。因此,当第一数据从3表示为2并且第二数据从-1表示为-2时,可能发生量化误差。同时,如果矩阵中包含的每个数据具有32位,则表示第一数据和第二数据总共需要64位,但是在以1位量化之后,只需要代表值32位以及被转换为二进制代码的1位的第一数据和被转换为二进制代码的1位的第二数据,并且因此总共需要34位。也就是说,可减小数据容量。
同时,处理器120可基于包括在多个簇中的每一者中的多个组的数量来确定至少一个代表值的数量。在前述实施例中,在第一簇中包括两组,并且因此利用一个代表值执行量化。然而,如果一簇中包括10个组,则应对10个数据进行量化,并且在这种情况下,如果使用一个代表值执行量化,则量化误差会变得很大。因此,随着一簇中包括更多的组,处理器120可增加代表值数量。
处理器120可在改变代表值数量时识别是否维持阈值准确度,并且将通过其保持阈值准确度的代表值数量中的最小数量确定为代表值数量。例如,处理器120可在量化后的准确度保持为量化前的准确度的90%的条件下调整代表值数量。例如,如果以代表值数量为五个来执行量化,则处理器120可在量化后的准确度小于量化前的准确度的90%的条件下增加代表值数量,并且在量化后的准确度等于或高于量化前的准确度的90%的条件下减少代表值数量。处理器120可重复该过程,并且确定如果代表值数量等于或大于7,则量化后的准确度保持等于或高于量化前的准确度的90%,并且将代表值数量确定为7。
同时,处理器120可基于包括在多个组中的每个组中的数据映射多维空间中的多个组中的每个组,并基于多维空间中的各组之间的距离将多个组聚类成多个簇。例如,处理器120可通过将K-均值算法应用于包括在多个组中的每个组中的数据来将多个组聚类成多个簇。然而,本公开不限于此,并且处理器120可通过许多不同的方法将多个组聚类成多个簇。
同时,如果基于量化矩阵获取针对输入数据的输出数据,则处理器120可基于聚类信息来重新对准输出数据。聚类信息可以是基于将多个组聚类为多个簇的操作而获取的信息。在这方面的详细说明将参考图7A和图7B进行。
另外,矩阵的至少一部分可以是基于矩阵的行和列中的另一些识别的矩阵的子区域。在这方面的详细说明将参考图8A和图8B进行。
图1B是说明根据本公开的实施例的电子装置100的详细配置的框图。根据图1B,电子装置100包括存储装置110、处理器120、通信器130、用户接口140、显示器150、音频处理器160和视频处理器170。同时,在图1B所示的部件中,关于与图1A所示的部件重叠的部件,为了简洁将省略详细说明。
处理器120通过使用存储在存储装置110中的各种程序来控制电子装置100的整体操作。
具体地,处理器120包括RAM 121、ROM 122、主CPU 123、图形处理器124、第一接口125-1到第n接口125-n,以及总线126。
RAM 121、ROM 122、主CPU 123、图形处理器124、第一接口125-1到第n接口125-n等可通过总线126彼此连接。
第一接口125-1至第n接口125-n可以与上述各种部件连接。接口中的一者可以是通过网络与外部装置连接的网络接口。
主CPU 123访问存储装置110并且通过使用存储在存储装置110中的O/S来执行启动。然后,主CPU 123通过使用存储在存储装置110中的各种程序等来执行各种操作。
ROM 122存储用于系统启动的指令集等。当输入打开指令并且供应电力时,主CPU123根据存储在ROM 122中的指令来将存储在存储装置110中的O/S复制在RAM 121中并且通过执行O/S来启动系统。当启动完成时,主CPU123将存储在存储装置110中的各种类型的应用程序复制在RAM 121中,并且通过执行复制在RAM 121中的应用程序来执行各种操作。
图形处理器124通过使用操作部分(未示出)和渲染部分(未示出)来生成包括如图标,图像和文本的各种对象的屏幕。操作部分(未示出)基于接收到的控制命令来操作将通过其根据屏幕的布局显示每个对象的属性值,诸如坐标值、形状、大小和颜色。另外,渲染部分(未示出)基于在操作部分(未示出)处操作的属性值以包括对象的各种布局生成屏幕。在渲染部分(未示出)处生成的屏幕显示在显示器150的显示区域中。
同时,处理器120的上述操作可以由存储在存储装置110中的程序执行。
存储装置110存储各种数据,如用于操作电子装置100的操作系统(O/S)软件模块,包括人工智能模型和量化人工智能模型的人工智能模块,用于对人工智能模型进行量化的量化模块等。
通信器130可以是根据各种类型的通信方法执行与各种类型的外部装置的通信的部件。通信器130可包括WiFi芯片131、蓝牙芯片132、无线通信芯片133、NFC芯片134等。处理器120可通过使用通信器130来执行与各种类型的外部装置的通信。
WiFi芯片131和蓝牙芯片132分别通过使用WiFi和蓝牙方法来执行通信。在使用WiFi芯片131或蓝牙芯片132的情况下,首先传输和接收各种类型的连接信息,诸如SSID和会话密钥,并且通过使用该信息来执行通信连接,并且此后可传输和接收各种类型的信息。无线通信芯片133是指根据各种通信标准来执行通信的芯片,诸如IEEE、Zigbee、第3代(3G)、第3代合作伙伴项目(3GPP)和长期演进(LTE)等。同时,NFC芯片134是指以近场通信(NFC)方法操作的芯片,该NFC方法使用诸如135kHz、13.56MHz、433MHz、860MHz至960MHz和2.45GHz的各种RF-ID频带之中的13.56MHz频带。
处理器120可通过通信器130从外部装置接收包括在人工智能模块或人工智能模型中的矩阵,并且将所接收的数据存储在存储装置110中。另选地,处理器120可通过人工智能算法自身生成人工智能模型,并将所生成的人工智能模型存储在存储装置110中。这里,人工智能模型可包括矩阵。
用户接口140接收各种用户交互。在此,可根据电子装置100的实施例以各种形式来实现用户接口140。例如,用户接口140可以是设置在电子装置100上的按钮,接收用户语音的麦克风,检测用户动作的相机等。另选地,在电子装置100被实现为基于触摸的电子装置的情况下,用户接口140可以触摸屏的形式实现,该触摸屏与触摸板构成层间结构。在这种情况下,用户接口140可用作上述显示器150。
音频处理器160是执行音频数据处理的部件。在音频处理器160处,可执行各种类型的处理,诸如对音频数据的解码或放大、噪声过滤等。
视频处理器170是执行视频数据处理的部件。在视频处理器170处,可执行各种类型的图像处理,诸如对视频数据的解码、缩放、噪声过滤、帧速率转换和分辨率转换。
通过如上所述的方法,处理器120可对包括在人工智能模型中的矩阵进行量化。
在下文中,将参考附图更详细地描述电子装置100的操作。
图2A和图2B是用于示出根据本公开的实施例的人工智能模型的图。
图2A是示出包括三层和两个矩阵的人工智能模型的实施例的图,并且处理器120可通过将Li-1的输入值输入到W12中来获取Li的中值,并且通过将Li的中值输入W23中来获取Li+1的最终值。然而,图2A示意性地示出了人工智能模型,并且实际上,与图2A中相比,可包括比三层更多的层以及比两个矩阵更多的矩阵。
图2B是示出矩阵的实施例的图,并且矩阵可以是以m×n的形式。例如,矩阵可以是以10000×8000的形式。另外,矩阵中的数据可分别是32位。也即,矩阵可包括各自32位的10000×8000数据。然而,本公开不限于此,并且矩阵的大小和每个数据的位数可以多种方式变化。
如图2A和图2B所示,考虑矩阵中所包括的每个数据的大小、矩阵中包括的数据数量以及人工智能模型中包括的矩阵数量,需要用于存储人工智能模型的非常大的存储空间,并且对于人工智能模型的操作可能会消耗大量功率。因此,处理器120可对矩阵的数据进行量化,并且由此减小存储装置所需的空间,并减少操作量。
图3A至图3C是用于示出根据本公开的实施例的聚类方法的图。
首先,在图3A中,为了便于解释,说明了4×4矩阵包括16个数据,并且每个数据具有32个位。例如,“a”可以是具有32位的一个数据,“b”可以是具有32位的另一个数据,依此类推。
处理器120可通过以行为单位划分4×4矩阵,并且将包括在矩阵中的数据识别为四个组311-314。
然后,处理器120可在四维空间中映射四个组中的每一者,并且通过如在图3B中的方法来计算四维空间中的组之间的距离。另外,处理器120可聚类近距离内的各组。例如,如在图3C中一样,处理器120可将第一组311和第三组313聚类为第一簇,并且将第二组312和第四组314聚类为第二簇。另外,处理器120可根据聚类改变数据在矩阵中的位置,如图3C所示。这种操作称为重新排序,并且重新排序不影响计算量和准确度。在下文中,为了便于解释,将说明在聚类操作中包括重新排序。
然而,本公开不限于此,并且处理器120可基于K-均值算法将多个组311-314聚类为多个簇。
另外,处理器120可将第一组311、第二组312和第三组313聚类为第一簇,并且将第四组314聚类为第二簇。
同时,稍后将说明根据聚类的优点。
图4A至图4C是用于示出根据本公开的实施例的量化方法的图。
在图4A中,为了便于解释,仅示出包括图3C的第一组311和第三组313的第一簇中所包括的数据。如图4A中所示,处理器120可分别对数据对411-414进行量化,该数据对包括第一簇中所包括的数据中的第一组311的第一数据和第三组313的第二数据。
为了解释对第一数据对411进行量化的方法,首先假设在a为3且i为-1的情况下以1位的量化。处理器120可基于a和i获取代表值α。例如,处理器120可通过对a的绝对值和i的绝对值求平均来获取α,并且在前述实施例的情况下,α因此可以是2。然而,本公开不限于此,并且处理器120可通过许多不同的方法来获取α。
然后,如图4B中所示,处理器120可基于α将a和i分别量化为+1和-1。也即,处理器120可将+α和-α之间接近+α的α转换成+1,并且将接近-α的i转换为-1。应当注意,图4B中的箭头旨在指示a和i的值最接近+α和-α中的哪个。
如在图4C中所示,处理器120可将a和i转换成+1和-1以及α。根据前述实施例,可将3量化为2,并且可将-1量化为-2,并且可将其表示为代表值2以及二进制数据1和-1。此外,a和i的总共64位的数据(它们每个为32位)可被转换成α的总共34位的数据,包括为32位的α,以及各自为1位的+1和-1。
处理器120可通过相同的方法对在图4A中示出的第二数据对412、第三对413和第四数据对414执行量化。这里,第一数据对411至第四数据对414的代表值可彼此不同。然而,本公开不限于此,并且处理器120可组合一些数据对并且通过一个代表值对组合的数据对进行量化。例如,处理器120可通过一个代表值对第一数据对411和第二数据对412进行量化。在这种情况下,处理器120可将总共128位的数据转换为总共38位的数据。然而,在这种情况下,量化误差可能变大,并且人工智能模型的准确度可能劣化。因此,处理器120可通过在保持人工智能模型的准确度的范围内组合多个数据对来执行量化,并且从而可提高量化效率。还可基于阈值准确度来确定要组合的数据对的数量。
图4A至图4C中解释的量化方法也可相对于第二簇以相同的方式执行。
图5A至图5E是用于解释根据本公开的另一实施例的量化方法的图。
在图5A中,为便于解释,假定第一簇中包括四个组。如图5A中所示,处理器120可对第一簇中所包括的数据中的每个组中所包括的第一列中所包括的数据对511进行量化。
当基于a、b、c、d执行2位的量化时,处理器120可获取代表值α1和α2。然后,如图5B中所示,基于α1和α2,处理器120可以将a转换成-α1+α2,将b转换成α1+α2,将c转换成α1-α2,并将d转换成-α1-α2。
另外,如图5C中所示,处理器120可将a转换成(-1,1),将b转换成(1,1),将c转换成(1,-1),并且将d转换成(-1,-1)。也就是说,处理器120可将各自为32位的a、b、c、d的总共128位的数据转换成各自为32位的α1和α2以及各自为2位的(-1,1)、(1,1)、(1,-1)、(-1,-1)的总共72位的数据。
也就是说,由于处理器120使用α1和α2,因此与使用α的情况相比,可更多地减小量化误差。
在此,可基于簇中所包括的组的数量来确定代表值数量。也即,当在簇中包括更多的组时,处理器120可增加代表值数量,并且然后执行量化。
另选地,处理器120可在顺序地增加代表值数量的同时识别是否满足阈值准确度。例如,如在图5D中,如果3、7、-1、-5被量化,则处理器120可首先基于3、7、-1、-5中的每一者的绝对值来获取一个代表值。在这种情况下,一个代表值可以是4,并且3、7、-1、-5中的每一者可被转换成1、1,-1,-1的二进制数据。此处,整个量化误差可能是图5D中箭头的总长度(即8)。也就是说,每个向右箭头的长度为1,并且每个向左箭头的长度为3,使得1+3+1+3==8。
如果整个量化误差小于阈值误差,则处理器120可通过一个代表值执行量化,并且如果整个量化误差等于或大于阈值误差,则处理器120可再次通过两个代表值执行量化。在再次执行量化的情况下,处理器120可将最初获取的一个代表值设置为α1,并且获取在3、7、-1、-5中的每一者和α1之间的量化误差的平均值作为代表值α2。也即,处理器120可获取3、7、-1、-5中的每一者和α1之间的量化误差为1、3、3、1,并且获取量化误差的平均值2作为代表值α2。也就是说,α1可以是4并且α2可以是2。然后,如在图5E中,处理器120可将3、7、-1、-5分别量化为α1-α2、α1+α2、-α1+α2、-α1-α2。在这种情况下,代表值可以是4和2,并且3、7、-1、-5可分别被量化为(1,-1)、(1,1)、(-1,1)、(-1,-1)。
在前述实施例中,如果3、7、-1、-5中的每一者具有32个位,则在量化之前需要总共132个位。同时,如果像在图5D中一样执行1位的量化,则生成32位的一个代表值和4位的二进制数据,并且因此需要总共36位。然而,如果像在图5E中一样执行2位的量化,则生成64位的两个代表值和8位的二进制数据,并且因此需要总共72位。同时,在前述实施例中,如果执行1位的量化,则量化误差为8,但是如果执行2位的量化,则量化误差为4。因此,如果压缩率变高,则准确度可变低,如果准确度变高,则压缩率可变低。
在图5D和图5E中,解释了多达2位的量化,但处理器120可获取附加代表值以确保更大的准确度。例如,在处理器120执行2位的量化之后,如果整个量化误差等于或大于阈值误差,则处理器120可再次通过三个代表值执行量化。通过这种方法,可确定代表值数量。
图6A和图6B是用于示出根据本公开的实施例的根据聚类的优点的图。
图6A是示出根据聚类改变了初始矩阵中的数据的位置的图。以与上述实施例相同的方式,假设已经改变了第二组和第三组的位置,并且为了便于解释,将仅针对第一列进行解释。
图6B示出通过对初始矩阵进行分组而不进行重新排序来执行1位量化的情况。从图6B的顶部可以看出,处理器120可以将α1设置为5,以便对第一行和第二行的数据对进行量化,并将数据对转换成1和1。然后,如从图6B的底部可以看出,处理器120可以将α2设置为3,以便对第三行和第四行的数据对进行量化,并且可以将数据对转换成1和-1。
图6C示出通过使用具有重新排序的矩阵来执行量化的情况。从图6C的顶部可以看出,处理器120可以将α1’设置为2,以便对第一行和第二行的数据对进行量化,并将数据对转换成1和-1。然后,如从图6C的底部可以看出,处理器120可以将α2’设置为6,以便对第三行和第四行的数据对进行量化,并且可以将数据对转换成1和-1。
量化效率在图6B和图6C中可以是相同的。具体地,在图6B的顶部和底部,将64位的每个数据转换成34位的数据,并且在图6C的顶部和底部,将64位的每个数据也转换成34位的数据。
同时,量化误差是初始数据值与量化值之间的差,并且在图6B和图6C的每一者中,量化误差被表示为箭头。另外,图6C中的箭头的总长度(其为4)比图6B中的箭头的总长度(其为8)短。也即,处理器120可以通过执行聚类来减小量化误差,并且使根据量化的人工智能模型的准确度的劣化最小化。
图7A和图7B是用于示出根据本公开的实施例的根据聚类的附加操作的图。
图7A示出通过使用初始矩阵而不进行聚类的操作顺序。具体地,处理器120可以通过将输入数据a、b、c输入到第一矩阵中来输出X、Y、Z,并且通过将X、Y、Z输入到第二矩阵中来输出最终数据A、B、C。
同时,如果矩阵的数据的位置根据聚类而改变,则处理器120可以基于聚类信息来重新排列输出数据。在此,聚类信息可以是基于将多个组聚类成多个簇的操作而获取的信息。
例如,如图7B所示,如果w12的位置与w13的位置更换,则处理器120可以标识出,根据a、b、c和第一矩阵的运算来输出X、Z、Y,并且将X、Z、Y转换成X、Y、Z,并将X、Y、Z输入到第二矩阵中。
另外,在第一矩阵之后将第二矩阵聚类的情况下,处理器120可以仅重新排列根据第二矩阵的聚类改变顺序的A、B、C的输出,并且对于第一矩阵运算的X、Z、Y的输出,处理器120可以根据X、Z、Y的顺序重新排列第二矩阵的列,并且获取与转换成X、Y、Z的情况相同的结果。
图8A和图8B是用于示出根据本公开的实施例的对矩阵进行划分并对矩阵进行量化的方法的图。
到目前为止,为了便于解释,已经通过使用小尺寸的矩阵来解释了量化方法。然而,实际上,矩阵的尺寸可能非常大。例如,如图8A所示,如果列数是10,则a和k之间的距离可能非常接近,并且因此量化效率可能很高,但是h和r之间的距离可能很远,并且因此量化效率可能很低。
因此,如图8B所示,处理器120可以基于列将矩阵划分成两个子区域,并且针对每个子区域执行聚类和量化。通过这种方法,可以进一步提高量化效率。
另外,处理器120可以通过各种方法将矩阵划分成多个子区域,并且针对每种情况提高量化效率和准确度。另外,处理器120可以基于量化效率和准确度通过使用各种情况之一来对矩阵进行量化。
同时,由于合并运算结果的方法是简单的算法,因此将省略在这方面的详细解释。
图9A至图9C是用于示出根据本公开的实施例的误字率(WER)和准确度的图。
图9A描述了根据对矩阵进行量化的WER,并且随着WER变低,性能变得更好。表描述了簇的数量,并且随着簇的数量增加,量化误差减小,并且因此WER变得更低。另外,“位”指示每个簇的代表值的数量,并且随着代表值的数量增加,量化误差进一步减小,并且因此WER变得更低。
如图9B所描述,图9B描述了根据将矩阵划分成四个子区域来对矩阵进行量化的WER。在图9B的情况下,量化效率可以比在图9A的情况下更多地提高。
图9C是描述根据重新排序的效率的图,并且当使用K-means算法时量化误差减小,因此可以提高准确度。另外,“表的数量”描述了簇的数量,并且随着簇的数量增加,量化误差减小,并且因此可以提高准确度。
图10A至图10C是示出根据本公开的各种实施例的WER作为图表的图。
图10A至图10C示出每个簇的代表值的数量分别为1、2、4的情况,并且随着代表值的数量增加,WER可能变得更低。另外,在图10A至图10C的每一者中,随着描述簇的数量的“表的数量”增加,WER可能变得更低。
另外,在图10A至图10C中,描述了根据常规技术的第一WER(原始)、在聚类和量化之后的第二WER(Kmeans)以及根据图8B的对矩阵进行划分之后的所划分矩阵中的每一个的聚类和量化之后的第三WER(Kmeans列转置)。如图10A至图10C所示,通常,第三WER低于第二WER,并且第二WER低于第一WER,因此根据本公开提高了WER。
图11是用于示出根据本公开的实施例的电子装置的控制方法的流程图。
首先,在操作S1110处,通过矩阵的行和列中的一者对人工智能模型中所包括的矩阵的至少一部分中所包括的数据进行划分,并将其标识为多个组。然后,在操作S1120处,基于多个组中的每一个中所包括的数据,将多个组聚类成多个簇。然后,在操作S1130处,对多个簇的每一个中所包括的数据中通过矩阵的行和列中的另一者划分的数据进行量化。
在此,在量化步骤S1130中,基于多个簇中的每一个中所包括的组中的第一组中所包括的第一数据的大小和第二组中所包括的第二数据的大小,可以获取至少一个代表值,并且基于该至少一个代表值,可以将第一数据和第二数据中的每一者转换成二进制代码,并且可以对第一数据和第二数据中的每一者进行量化。在此,第二数据可以是矩阵的行和列中的另一者与第一数据相同的数据。
另外,在量化步骤S1130中,可以基于多个簇的每一个中所包括的多个组的数量来确定至少一个代表值的数量。
同时,在聚类步骤S1120中,可以基于多个组中的每一个中所包括的数据在多维空间中映射多个组中的每一个,并且可以基于各组在多维空间中的距离来将多个组聚类成多个簇。
另外,在聚类步骤S1120中,可以基于K-means算法将多个组聚类成多个簇。
同时,可以进一步包括以下步骤:根据基于量化矩阵针对输入数据获取输出数据,基于聚类信息来重新排列输出数据。在此,聚类信息可以是基于将多个组聚类成多个簇的操作而获取的信息。
同时,矩阵的至少一部分可以是基于矩阵的行和列中的另一者标识的矩阵的子区域。
根据上述本公开的各种实施例,电子装置可以通过对人工智能模型进行量化来减小数据容量,并且同时,通过减少归因于量化的误差来使性能的劣化最小化。
同时,以上,已经描述了对一个矩阵进行量化,但是可以通过相同方法对人工智能模型中所包括的一些或全部矩阵进行量化。
另外,以上,已经描述了处理器基于行执行聚类,基于列执行量化并且基于列将矩阵划分成子区域,但是本公开不限于此。例如,处理器可以基于列执行聚类,基于行执行量化,并且基于行将矩阵划分成子区域。
同时,以上,仅描述了根据交替多位量化方法的量化方法,但是相同的技术可以应用于多种不同的量化方法。也即,在其他量化方法的情况下,可以通过聚类和重新排序来减小数据容量,并且同时,可以通过减少归因于量化的误差来使性能的劣化最小化。
同时,根据本公开的实施例,本文描述的本公开的各种实施例可以被实现为包括存储在机器可读存储介质中的指令的软件,这些指令可以由机器(例如:计算机)读取。机器是指调用存储在存储介质中的指令的装置,并且可以根据所调用指令进行操作,并且这些装置可包括根据上述实施例的电子装置(例如,电子装置A)。在处理器执行指令的情况下,处理器可以本身执行该指令所对应的功能,也可以在其控制下使用其他部件来执行该指令。指令可包括由编译器或解译器生成或执行的代码。可以以非暂时性存储介质的形式提供可由机器读取的存储介质。在此,术语“非暂时性”仅意味着存储介质不包括信号,并且是有形的,而并不表示数据是半永久地还是临时地存储在存储介质中。
另外,根据本公开的实施例,可以在将上述根据各种实施例的方法包括在计算机程序产品中时提供该方法。计算机程序产品是指一种产品,并且该产品可以在买卖双方之间进行交易。计算机程序产品可以以可由机器读取的存储介质的形式在线分发(例如:光盘只读存储器(CD-ROM)),也可以通过应用商店(例如:play store TM)读取。在在线分发的情况下,计算机程序产品的至少一部分可以至少临时地存储在诸如制造商的服务器、应用商店的服务器以及中继服务器的存储器的存储介质中,或者可以临时生成。
另外,根据本公开的实施例,上述各种实施例可以在记录介质中实现,该记录介质可以由计算机或类似于计算机的装置通过使用软件、硬件或其组合来读取。在一些情况下,本说明书中描述的实施例可以由处理器本身实现。根据软件实现方式,诸如本说明书中描述的程序和功能的实施例可以由单独的软件模块来实现。软件模块中的每一个可以执行本说明书中描述的一个或多个功能和操作。
同时,用于执行根据上述各种实施例的机器的处理操作的计算机指令可以存储在非暂时性计算机可读介质中。当指令由特定机器的处理器执行时,存储在这种非暂时性计算机可读介质中的计算机指令在根据由特定机器执行的上述各种实施例的机器处进行处理操作。非暂时性计算机可读介质是指半永久性地存储数据并且可由机器读取的介质,而不是指短暂存储数据的介质(诸如寄存器、高速缓存和存储器)。作为非暂时性计算机可读介质的具体示例,可存在CD、DVD、硬盘、蓝光光盘、USB、存储卡、ROM等。
另外,根据上述各种实施例的每个部件(例如,模块或程序)可以由单个对象或多个对象组成。另外,在上述对应的子部件中,可以省略一些子部件,或者在各种实施例中可以进一步包括其他子部件。通常或另外,一些部件(例如:模块或程序)可以被集成为对象,并且在集成之前以相同或相似的方式执行由每个部件执行的功能。根据各种实施例的模块、程序或由其他部件执行的操作可以顺序地、并行地、重复地或启发式地执行。或者,可以以不同的顺序执行或省略至少一些操作,或者可以添加其他操作。
虽然目前为止已经示出和描述了本公开的优选实施例,但是本公开不限于上述特定实施例,并且显而易见的是,在不脱离所附权利要求所要求保护的本公开的主旨的情况下,本公开所属的技术领域的普通技术人员可以做出各种修改。另外,旨在不应独立于本公开的技术思想或前景来解释此类修改。

Claims (15)

1.一种电子装置,包括:
存储装置,存储人工智能模型中所包括的矩阵;以及
处理器,被配置为:
通过所述矩阵的行和列中的一者对所述矩阵的至少一部分中所包括的数据进行划分,以形成多个组,
基于所述多个组中的每一个中所包括的数据将所述多个组聚类成多个簇,并且
对所述多个簇的每一个中所包括的数据中通过所述矩阵的行和列中的另一者划分的数据进行量化。
2.根据权利要求1所述的电子装置,
其中所述处理器被配置为:
基于所述多个簇中的每一个中所包括的组中的第一组中所包括的第一数据的大小和第二组中所包括的第二数据的大小来获取至少一个代表值,并且基于所述至少一个代表值来将所述第一数据和所述第二数据中的每一者转换成二进制代码,并且对所述第一数据和所述第二数据中的每一者进行量化,并且
其中所述第二数据是所述矩阵的行和列中的另一者与所述第一数据相同的数据。
3.根据权利要求2所述的电子装置,其中所述处理器被配置为:
基于所述多个簇的每一个中所包括的所述多个组的数量来确定所述至少一个代表值的数量。
4.根据权利要求1所述的电子装置,其中所述处理器被配置为:
基于所述多个组中的每一个中所包括的数据在多维空间中映射所述多个组中的每一个,并且基于所述组在所述多维空间中的距离来将所述多个组聚类成所述多个簇。
5.根据权利要求1所述的电子装置,其中所述处理器被配置为:
基于K-means算法将所述多个组聚类成所述多个簇。
6.根据权利要求1所述的电子装置,
其中所述处理器被配置为:
根据基于量化的矩阵针对输入数据获取输出数据,基于聚类信息来重新排列所述输出数据,并且
其中所述聚类信息是基于将所述多个组聚类成所述多个簇的操作而获取的。
7.根据权利要求1所述的电子装置,
其中所述矩阵的所述至少一部分是基于所述矩阵的行和列中的另一者确定的所述矩阵的子区域。
8.一种控制方法,包括:
通过人工智能模型中所包括的矩阵的行和列中的一者对该矩阵的至少一部分中所包括的数据进行划分,以形成多个组;
基于所述多个组中的每一个中所包括的数据将所述多个组聚类成多个簇;以及
对所述多个簇的每一个中所包括的数据中通过所述矩阵的行和列中的另一者划分的数据进行量化。
9.根据权利要求8所述的控制方法,
其中所述量化包括:
基于所述多个簇中的每一个中所包括的组中的第一组中所包括的第一数据的大小和第二组中所包括的第二数据的大小来获取至少一个代表值,并且基于该至少一个代表值来将所述第一数据和所述第二数据中的每一者转换成二进制代码,并且对所述第一数据和所述第二数据中的每一者进行量化,以及
所述第二数据是所述矩阵的行和列中的另一者与所述第一数据相同的数据。
10.根据权利要求9所述的控制方法,
其中所述量化包括:
基于所述多个簇的每一个中所包括的所述多个组的数量来确定所述至少一个代表值的数量。
11.根据权利要求8所述的控制方法,
其中所述聚类包括:
基于所述多个组中的每一个中所包括的数据在多维空间中映射所述多个组中的每一个,并且基于各组在所述多维空间中的距离来将所述多个组聚类成所述多个簇。
12.根据权利要求8所述的控制方法,
其中所述聚类包括:
基于K-means算法将所述多个组聚类成所述多个簇。
13.根据权利要求8所述的控制方法,还包括:
根据基于量化的矩阵针对输入数据获取输出数据,基于聚类信息来重新排列所述输出数据,
其中所述聚类信息是基于将所述多个组聚类成所述多个簇的操作而获取的。
14.根据权利要求8所述的控制方法,
其中所述矩阵的所述至少一部分是基于所述矩阵的行和列中的另一者确定的所述矩阵的子区域。
15.一种电子装置,包括:
存储装置,存储人工智能模型中所包括的矩阵;以及
处理器,被配置为:
按行对所述矩阵中的数据进行划分,以形成数据的多个组,
基于所述多个组中所包括的数据来将所述多个组聚类成第一簇和第二簇,并且
根据针对每个列根据所述列中的数据确定的代表值按列对所述第一簇中的数据进行量化,并且根据针对每个列根据所述列中的数据确定的代表值按列对所述第二簇中的数据进行量化。
CN201980054821.4A 2018-08-30 2019-08-28 电子装置及其控制方法 Pending CN112585628A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2018-0102647 2018-08-30
KR1020180102647A KR20200027085A (ko) 2018-08-30 2018-08-30 전자 장치 및 그 제어 방법
PCT/KR2019/010988 WO2020045977A1 (en) 2018-08-30 2019-08-28 Electronic apparatus and control method thereof

Publications (1)

Publication Number Publication Date
CN112585628A true CN112585628A (zh) 2021-03-30

Family

ID=69641376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980054821.4A Pending CN112585628A (zh) 2018-08-30 2019-08-28 电子装置及其控制方法

Country Status (5)

Country Link
US (1) US11475281B2 (zh)
EP (1) EP3776389A4 (zh)
KR (1) KR20200027085A (zh)
CN (1) CN112585628A (zh)
WO (1) WO2020045977A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200027085A (ko) * 2018-08-30 2020-03-12 삼성전자주식회사 전자 장치 및 그 제어 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920007504B1 (ko) 1989-02-02 1992-09-04 정호선 신경회로망을 이용한 이진 가산기
JPH06509670A (ja) 1991-04-29 1994-10-27 インテル・コーポレーション 差分ニューロンを包含したニューラルネットワーク
US5204899A (en) * 1991-11-19 1993-04-20 Scientific-Atlanta, Inc. Vector quantization method employing mirrored input vectors to search codebook
US7885473B2 (en) * 2007-04-26 2011-02-08 Texas Instruments Incorporated Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors
US8897586B2 (en) * 2012-06-15 2014-11-25 Comcast Cable Communications, Llc Dynamic generation of a quantization matrix for compression of a digital object
US20150347927A1 (en) * 2014-06-03 2015-12-03 Nec Laboratories America, Inc. Canonical co-clustering analysis
US10621486B2 (en) * 2016-08-12 2020-04-14 Beijing Deephi Intelligent Technology Co., Ltd. Method for optimizing an artificial neural network (ANN)
US10048826B2 (en) * 2016-10-04 2018-08-14 Sas Institute Inc. Interactive visualizations of a convolutional neural network
US20180107926A1 (en) 2016-10-19 2018-04-19 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization
US11321609B2 (en) * 2016-10-19 2022-05-03 Samsung Electronics Co., Ltd Method and apparatus for neural network quantization
US10949736B2 (en) * 2016-11-03 2021-03-16 Intel Corporation Flexible neural network accelerator and methods therefor
US10691886B2 (en) * 2017-03-09 2020-06-23 Samsung Electronics Co., Ltd. Electronic apparatus for compressing language model, electronic apparatus for providing recommendation word and operation methods thereof
KR102606200B1 (ko) * 2018-03-06 2023-11-24 삼성전자주식회사 전자 장치 및 그 제어 방법
US11636319B2 (en) * 2018-08-22 2023-04-25 Intel Corporation Iterative normalization for machine learning applications
KR20200027080A (ko) * 2018-08-28 2020-03-12 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20200027085A (ko) * 2018-08-30 2020-03-12 삼성전자주식회사 전자 장치 및 그 제어 방법
US11010132B2 (en) * 2018-09-28 2021-05-18 Tenstorrent Inc. Processing core with data associative adaptive rounding
KR102659494B1 (ko) * 2019-01-21 2024-04-23 삼성전자주식회사 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
KR20200027085A (ko) 2020-03-12
US11475281B2 (en) 2022-10-18
EP3776389A4 (en) 2021-05-26
EP3776389A1 (en) 2021-02-17
WO2020045977A1 (en) 2020-03-05
US20200074283A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
US11825033B2 (en) Apparatus and method with artificial intelligence for scaling image data
EP3467723A1 (en) Machine learning based network model construction method and apparatus
US10691886B2 (en) Electronic apparatus for compressing language model, electronic apparatus for providing recommendation word and operation methods thereof
US11537857B2 (en) Pooling processing method and system applied to convolutional neural network
CN111178507B (zh) 图谱卷积神经网络数据处理方法及装置
US11755683B2 (en) Flexible accelerator for sparse tensors (FAST) in machine learning
KR20200013162A (ko) 전자 장치 및 그의 제어 방법
US11568254B2 (en) Electronic apparatus and control method thereof
US11791837B2 (en) Method and apparatus for neural network model compression/decompression
KR20210136706A (ko) 전자 장치 및 이의 제어 방법
KR20180103671A (ko) 언어 모델을 압축하기 위한 전자 장치, 추천 워드를 제공하기 위한 전자 장치 및 그 동작 방법들
CN112766467B (zh) 基于卷积神经网络模型的图像识别方法
US20210279589A1 (en) Electronic device and control method thereof
WO2024016830A1 (zh) 数据处理方法、装置、设备及存储介质
CN113989420A (zh) 图像生成系统及方法
US11475281B2 (en) Electronic apparatus and control method thereof
US20230214695A1 (en) Counterfactual inference management device, counterfactual inference management method, and counterfactual inference management computer program product
US20230100930A1 (en) Mixing sparsity compression
CN112241786B (zh) 模型超参数的确定方法及设备、计算设备和介质
CN112561062B (zh) 神经网络训练方法、装置、计算机设备及存储介质
US20220108156A1 (en) Hardware architecture for processing data in sparse neural network
Anton Fu Using Quantization and Serialization to Improve AI Super-Resolution Inference Time on Cloud Platform
CN117501277A (zh) 用于3d cnn中的动态四重卷积的装置和方法
CN116108752A (zh) 模型压缩方法、装置、电子设备和存储介质
WO2023076108A1 (en) Systems and methods for video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination