AI新技术:利用神经网络对图片进行超级压缩

简介: 像神经网络这样的数据驱动算法已席卷全球。他们最近的激增是由于硬件变得更加便宜也更加强大,同时也不缺乏大量的数据的支持。神经网络目前发展到“图像识别”,“自然语言理解”等认知任务,当然也仅限于此类任务。

像神经网络这样的数据驱动算法已席卷全球。他们最近的激增是由于硬件变得更加便宜也更加强大,同时也不缺乏大量的数据的支持。神经网络目前发展到“图像识别”,“自然语言理解”等认知任务,当然也仅限于此类任务。在这篇文章中,我将讨论一种使用神经网络压缩图像的方法,以更快的速度实现图像压缩的最新技术。

本文基于“基于卷积神经网络的端到端压缩框架”(https://arxiv.org/pdf/1708.00838v1.pdf)。

你需要对神经网络有一些熟悉,包括卷积和损失函数。

什么是图像压缩?

图像压缩是转换图像使其占用较少空间的过程。简单地存储图像会占用大量空间,因此存在编解码器,例如JPEG和PNG,旨在减小原始图像的大小。

有损与无损压缩
图像压缩有两种类型:无损和有损。正如他们的名字所暗示的那样,在无损压缩中,有可能获取原始图像的所有数据,而在有损压缩中,有些数据在转换中丢失。

例如JPG是一种有损算法,而PNG是一种无损算法

279bda9bc536e5284d08c2b7189cf2c74042a725


无损和有损压缩之间的比较

仔细看会发现右边的图像有很多小块,这就是信息的丢失。类似颜色附近的像素被压缩为一个区域,节省了空间,但也丢失关于实际像素的信息。当然,像JGEG,PNG等编解码器的实际算法要复杂得多,但这是有损压缩的良好直观示例。无损当然好,但它在磁盘上占用了太大的空间。

虽然有更好的方法压缩图像而不会丢失大量信息,但是它们太慢了,许多使用迭代的方法,这意味着它们不能在多个CPU内核或GPU上并行运行。这使得它们应用在日常使用中并不现实。

进入卷积神经网络

如果需要计算任何东西并且可以近似,就可以让一个神经网络来做。作者使用一个相当标准的卷积神经网络来改善图像压缩。他们的方法不仅能达到“更好的压缩图像方法”的效果,还可以利用并行计算,让速度的快速提升。

因为,卷积神经网络(CNN)非常擅长从图像中提取空间信息,然后以更紧凑的结构表现(例如,仅存储图像的“重要”比特)。作者想利用CNN的这种能力更好地表现图像。

架构

作者提出了一个双重网络。第一个网络,将采集图像并生成压缩表示(ComCNN)。然后,这个网络的输出通过标准的编解码器(例如JPEG)进行处理。经过编解码器后,图像将被传递到第二个网络,从编解码器“修复”图像,试图恢复原始图像。作者称之为重建CNN(RecCNN)。这两个网络都被反复地训练,类似于GAN。

440919bdbd6a1c62a46ba03fa25cf03fc00f39b3


ComCNN将压缩表示传递给标准的编解码器


6ff782b007e7ecde088eccf2b490b0f9212da0cb


来自ComCNN的输出被放大并传递给RecCNN,它将尝试学习一个残差

编解码器的输出被放大,然后传递给RecCNN。RecCNN将尝试输出与原始图像相似的图像。

26310e47d1d824f892ff7080b864c4792a7af86c

残差是什么

残差可以被认为是“改善”编解码器解码的图像的后处理步骤。神经网络有很多关于世界的“信息”,可以对“修复”做出认知决定。这个想法是基于残差学习,你点击链接进行更深入的了解(https://arxiv.org/pdf/1708.00838v1.pdf)。

损失函数

由于有两个网络,所以使用两个损失函数函数。第一个,对于ComCNN,标记为L1,定义为:

bed7988cea1eff04b74eaf9835798adc294f66e4


ComCNN的损失函数(公式1.0)

说明
这个方程可能看起来很复杂,但它实际上是标准MSE(均方误差)。||²表示它们所包含的矢量的“标准”。

085136ae46b70c9770c3c179779c5fce70df80ab


(公式1.1)

Cr表示ComCNN的输出。θ表示ComCNN的可训练参数,Xk表示输入图像

587fa7a86247d052582bebc6b5f0abe659459890


(公式1.2)

Re()表示RecCNN。该方程将公式1.1的值传递给RecCNN。“θ帽”表示RecCNN的可训练参数(帽表示参数固定)

直观的定义
公式1.0将使ComCNN修改它的权重,这样,在经过RecCNN重新创建后,最终图像将尽可能接近真实的输入图像。

RecCNN的第二个损失函数定义为:

2a15305a0fe93ab23b22076917450adc58ad8d8d


(公式2.0)

说明
同样的,这个函数可能看起来很复杂,但它是一个常见而标准的神经网络损失函数(MSE)。

b0470926ceed98ffcd809b906cc6317f3f9384ab


(公式2.1)

Co()表示编解码器的输出。x帽表示ComCNN的输出。θ2表示RecCNN的可训练参数。res()只表示网络学习的残差,它只是RecCNN的输出。值得注意的是,RecCNN在Co()和输入图像之间的差异进行训练,而不是直接从输入图像中进行训练。

直观的定义
公式2.0将使RecCNN修改其权重,使得其输出看起来尽可能接近原始图像。

训练计划

这些模型经过类似于GAN的训练方式的迭代训练。第一个模型的权重是固定的,而第二个模型的权重被更新,然后第二个模型的权重是固定的,而第一个模型被训练。

基准

作者将其方法与现有方法进行了比较,包括简单的编解码器。他们的方法比其他方法更好,同时在有能力的硬件上使用时保持高速。作者注意到尝试只使用其中一个网络性能会下降。

6bcd00be4a262d08c609ee44403e9d508e23a401

SSIM(结构相似度指数)比较。较高的值表示与原始的更好的相似性,作者的作品是粗体。

结论

一种应用深度学习来压缩图像的新技术。我们讨论了除了图像分类和语言处理等常用任务之外,使用神经网络的可能性。这种技术不仅压缩表现良好,处理图像的速度也更快。

本文为编译作品,转载请注明出处。更多内容关注微信公众号:atyun_com

目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 人工智能
未来的守护神:AI驱动的网络安全之盾,如何用智慧的光芒驱散网络黑暗势力?揭秘高科技防御系统背后的惊天秘密!
【10月更文挑战第3天】随着网络技术的发展,网络安全问题日益严峻,传统防御手段已显不足。本文探讨了构建AI驱动的自适应网络安全防御系统的必要性及其关键环节:数据采集、行为分析、威胁识别、响应决策和执行。通过Python库(如scapy、scikit-learn和TensorFlow)的应用实例,展示了如何利用AI技术提升网络安全防护水平。这种系统能够实时监控、智能分析并自动化响应,显著提高防护效率与准确性,为数字世界提供更强大的安全保障。
61 2
|
11天前
|
机器学习/深度学习 人工智能 安全
AI与网络安全:防御黑客的新武器
在数字化时代,网络安全面临巨大挑战。本文探讨了人工智能(AI)在网络安全中的应用,包括威胁识别、自动化防御、漏洞发现和预测分析,展示了AI如何提升防御效率和准确性,成为对抗网络威胁的强大工具。
|
23天前
|
机器学习/深度学习 人工智能 物联网
5G与AI融合:智能网络的新纪元
【10月更文挑战第25天】
43 3
|
1月前
|
人工智能 关系型数据库 数据中心
2024 OCP全球峰会:阿里云为代表的中国企业,引领全球AI网络合作和技术创新
今年的OCP(Open Compute Project)峰会于2024年10月14日至17日在美国加州圣何塞举行,在这场全球瞩目的盛会上,以阿里云为代表的中国企业,展示了他们在AI网络架构、液冷技术、SRv6和广域网等前沿领域的强大创新能力,持续引领全球合作与技术创新。
|
2月前
|
人工智能 数据中心 云计算
AI网络新生态ALS发起成立,信通院、阿里云、AMD等携手制定互连新标准
9月3日,在2024 ODCC开放数据中心大会上,阿里云联合信通院、AMD等国内外十余家业界伙伴发起AI芯片互连开放生态ALS(ALink System)。
AI网络新生态ALS发起成立,信通院、阿里云、AMD等携手制定互连新标准
|
1月前
|
人工智能 自然语言处理 NoSQL
|
1月前
|
机器学习/深度学习 人工智能 算法
利用AI技术优化网络安全
【10月更文挑战第4天】随着人工智能(AI)的飞速发展,其在网络安全领域的应用也日益广泛。本文将探讨如何利用AI技术提升网络安全防护能力,包括机器学习、深度学习等方法在识别和防御网络攻击方面的应用。同时,文章还将分析AI技术在网络安全领域面临的挑战和未来发展趋势。
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络深度剖析:Python带你潜入AI大脑,揭秘智能背后的秘密神经元
【9月更文挑战第12天】在当今科技飞速发展的时代,人工智能(AI)已深入我们的生活,从智能助手到自动驾驶,从医疗诊断到金融分析,其力量无处不在。这一切的核心是神经网络。本文将带领您搭乘Python的航船,深入AI的大脑,揭秘智能背后的秘密神经元。通过构建神经网络模型,我们可以模拟并学习复杂的数据模式。以下是一个使用Python和TensorFlow搭建的基本神经网络示例,用于解决简单的分类问题。
49 10
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:深度学习与神经网络
【9月更文挑战第11天】本文将深入探讨人工智能的核心领域——深度学习,以及其背后的神经网络技术。我们将从基础理论出发,逐步深入到实践应用,揭示这一领域的神秘面纱。无论你是AI领域的初学者,还是有一定基础的开发者,都能在这篇文章中获得新的启示和理解。让我们一起踏上这场探索之旅,揭开AI的神秘面纱,体验深度学习的魅力。
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
深入骨髓的解析:Python中神经网络如何学会‘思考’,解锁AI新纪元
【9月更文挑战第11天】随着科技的发展,人工智能(AI)成为推动社会进步的关键力量,而神经网络作为AI的核心,正以其强大的学习和模式识别能力开启AI新纪元。本文将探讨Python中神经网络的工作原理,并通过示例代码展示其“思考”过程。神经网络模仿生物神经系统,通过加权连接传递信息并优化输出。Python凭借其丰富的科学计算库如TensorFlow和PyTorch,成为神经网络研究的首选语言。
51 1
下一篇
无影云桌面