生成式 AI 给我们带来的影响 | 社区征文

2023总结

去年的这个时候,横空出世的 chatGPT 以迅雷不及掩耳盗铃之势火爆全球,几乎无人不知无人不晓,有一次我跟我妈接视频,我妈说最近老是在抖音上刷到 chatGPT,就问 chatGPT 是什么东西?我说这是国外公司研发的聊天机器人程序,它可以回答各种各样的问题,就像以前做菜要查菜谱,现在不用那么麻烦,直接问它就行,它就会教您如何做菜。我妈回答说:那还真是个好东西!😄

如果要写个年终总结,那么 2023 年最火的关键词,大概就是 AI 了。今年我也用过不少生成式 AI 的产品,像编码用的通义灵码、亚马逊的 CodeWhisperer、百度的 Comate 都挺不错的,还有文图的创作,因为平时写文章都需要配图,像文心一格、通义万相等等。对了,还有 PPT 生成式 AI 工具,这个不错的。接下来我会先给大家介绍今年我用过的优秀的工具以及生成式背后的原理知识,希望对大家有所帮助

通义灵码

我是做开发的嘛,平时会比较关注提升开发效率的产品,像通义灵码等这些 AI 生成代码工具特别吸引我,2023 云栖大会我去了线下,通义灵码是今年在云栖大会上发布的一款产品,在现场演示中,要求编码工具生成“飞机大战小游戏”,短短几秒,这款通义灵码的工具自动生成了一段代码,点击运行后,游戏也可以成功运行,这令我惊叹不已!回家的第一件事就是在我电脑上安装这款神器。

官网地址:https://tongyi.aliyun.com/lingma?spm=5176.28326591.0.0.40f73da21LXJzW

picture.image

在这个快速发展的信息时代,“通义灵码”如同一款卓越的编程助手,为每一位开发者提供助力。无论你是初入行业的新手,还是经验丰富的资深开发者,它都能成为你编程旅程中的得力伙伴。

“通义灵码”能够简化许多繁琐的编程任务,如信息检索、工具切换和编写单元测试等,使你能够更专注于技术设计和创新。它不仅能协助你完成各种编程相关的工作,如编写代码注释和解释,还能帮助你保证代码质量,及时发现潜在的错误和漏洞。

另外,我们做开开发的小伙伴也都知道,在编写测试的时候需要花费不少时间,但是有了“通义灵码”之后,可以毫秒级生成测试代码。这大大提升了编程工作的效率,减少了沟通与理解上的摩擦,让编程变得更加流畅和高效。

总的来说,“通义灵码”能为你在解决复杂编程任务或探索新的技术挑战时提供有力支持,让你的编程之旅变得更加轻松和愉快。

picture.image

其实,我认为通义灵码开启了编程的新纪元,对于教育行业会影响颇深,学生们可以用通义灵码来学习编程的基础知识,提高了学生们对的编程兴趣。利用“通义灵码”,任何人都能接触到 AI 赋予的力量,探索更广阔的可能性,让编程成为一个无论谁都能参与的、精彩绝伦的技术盛宴。

写程序

我用通义灵码写两个程序 JavaScript 方法,一个是深度克隆的方法,另一个写一个获取接口返回值的方法。

通过一段话,已经帮我们生成了深度克隆的方法,代码确实已经生成了,这对于新手还是很友好的,可以帮助我们完成代码片段

picture.image


function deepClone(obj) {
            if(obj === null || typeof obj !== "object") {
                return obj;
            }
            lettemp = obj.constructor();
            for(let key in obj) {
                if (obj.hasOwnProperty(key)) {
                    temp[key] = deepClone(obj[key]);
                }
            }
            return temp;
      }

另外,就是注释功能了了,虽然很简单,至少也可以看懂了

picture.image

这段代码定义了一个名为deepClone的函数,用于深度克隆一个对象。该函数接受一个参数obj,表示需要克隆的对象,并返回克隆后的对象。

首先,函数检查传入的参数是否为null或者不是对象,如果是,则直接返回该参数。这是因为对于基本数据类型,如数字、字符串等,无法进行深度克隆,因此直接返回原参数。

接下来,函数创建一个与原对象相同构造函数创建的空对象temp,用于存储克隆后的对象。

然后,函数通过遍历原对象的所有属性,将属性名和属性值复制到temp对象中。为了确保只复制对象本身的属性,而不是原型链上的属性,使用hasOwnProperty方法进行判断。

最后,函数返回克隆后的对象temp。通过使用递归调用,该函数可以处理嵌套对象,实现深度克隆。

接下来,我们再写一个生成大乐透号码的程序

picture.image

  // 随机生成大乐透号码的程序
        function generateLottoNumber() {
            // 定义大乐透号码的格式
            const lottoFormat = ['必选号码', '红球', '蓝球'];

            // 生成必选号码
            const optionalNumber = Math.floor(Math.random() * 30) + 1;

            // 生成红球号码
            const redBallNumber = [];
            while (redBallNumber.length < 6) {
                const number = Math.floor(Math.random() * 33) + 1;
                if (!redBallNumber.includes(number)) {
                    redBallNumber.push(number);
                }
            }

            // 生成蓝球号码
            const blueBallNumber = Math.floor(Math.random() * 16) + 1;

            // 组合大乐透号码
            const lottoNumber = [
                optionalNumber,
                redBallNumber.join(''),
                blueBallNumber
            ];

            // 格式化输出
            const result = lottoFormat.map(item => item + ': ' + lottoNumber.shift());
            return result.join('\n');
        }

        // 生成并输出大乐透号码
        console.log(generateLottoNumber());

该代码定义了一个函数generateLottoNumber,用于生成大乐透号码。代码首先定义了大乐透号码的格式,然后生成了必选号码、红球号码和蓝球号码。其中,必选号码是一个 1 到 30 之间的随机数字,红球号码由 6 个不同的数字组成,范围为 1 到 33,蓝球号码由 1 个数字组成,范围为 1 到 16。生成号码后,将它们组合成大乐透号码数组,并根据格式进行输出。最后,通过调用console.log函数输出生成的大乐透号码。

通义万相

如果你是专业的视觉内容创作者,如画师或设计师,通义万相将成为你激发创意的小助手;如果你是文字内容创作者,如媒体编辑、写手或作家,通义万相将成为你获取灵感和知识的智慧图库;如果你是 AI 绘画爱好者,通义万相为你提供了一个零门槛的绘画创作平台,让每个人都能展现个性风格,享受艺术创作的无限乐趣。通义万象目前是免费的,每天有 50 点灵感值,并且每次生成成功会扣除 1 个灵感值,也就是每天可以生成 50 次,每日 0 点重置。

通义万相是个很棒的产品,每次写文章的时候,都为公众号首图发愁,不知道该用什么图片,而且乱用图片可能会导致侵权,之前经历过一次,赔偿人家 2000 块,难受了好几天呢😭,现在写文章基本都用通义万象来生成图片,效果也很不错呢!

接下来,让我们一起来欣赏一下它的设计魅力吧!

  • Prompt:超美丽梦幻,长发少女,白色裙子,背景是粉色盛开的花卉,花海浪漫,星辰阳光可爱温柔,抬头仰望,四分之三角度,甜美微笑,开心表情,公主裙,半身像,美丽的春日风光

picture.image

  • Prompt:动漫少年,戴眼镜,程序员,CG,4K,卡通,青年男士,少侠,国潮,水彩,宇宙背景

picture.image

  • Prompt:太阳,油画,高清

picture.image

  • prompt:冬天,林荫大道,印象派油画,碎笔画法油画

picture.image

  • prompt:二次元,a woman in a red dress with a white hat and a black cat, onmyoji, onmyoji detailed art, kawacy, manhwa, by Yang J, kitsune, korean art nouveau anime,reimu hakurei, kitsune three - tailed fox, anime fantasy illustration, anime illustration

picture.image

  • prompt:江南风景,远山,小村庄,树木,花草,流水,云雾

picture.image

目前通义万相有三个核心功能:文本生成图片相似图片生成图片风格迁移。这次体验让我对“通义万相”这款产品的功能使用体验感到非常满意。该产品的优点非常突出,能够满足目前大部分人对 AI 生成图片和图片生成图片的功能需求。当然也有不足的地方,在处理文本时,AI 经常难以理解抽象的词句,导致生成的结果与用户期望的不一致。因此,希望后续的“通义万相”能够更好地理解抽象词句,特别是在文学创作中的古诗、成语等,除了字面意思之外,通常还具有更丰富的内涵。

另外,在图生图功能中加入关键词和保留词的功能。用户可以通过输入关键词来指定所需图像的风格或主题,同时通过保留词来决定图像中哪些内容需要保留。当然,还可以考虑加入背景颜色更换功能,让用户能够自由选择最适合的背景颜色,也有助于提高“通义万相”的实用性和灵活性,使用户能够更轻松地生成符合自己需求的图像。

深度学习

什么是深度学习?其实这是一种非常酷炫的机器学习方法,有点像模仿人类大脑来执行各种智能的任务,就像我们学习走路说话一样,机器也可以通过深度学习来学习,然后做一些很酷的事情,深度学习像一块电路板,上面有一堆小电路,这些小电路呢就叫神经元,它们就像我们大脑神经元一样相互连接,这些神经元能够处理和分析数据,就像我们大脑里思考一样,只不过是用数学的方式,所以深度学习模型就是由这些神经元组成的多层网络,它们能够帮助机器完成各种任务。深度学习的魔法之处就在于它能够解决许多有趣的问题,比如说图像识别就很出色,就像是计算机变成了超级眼镜,它可以看懂照片里的内容,而且在自然语言处理领域深度学习可以帮助机器理解我们说的话,就像是机器学会了一门新语言一样,它还能识别声音,所以语音识别也不在话下。

深度神经网络

神经网络其实是受到人脑启发设计出来的。它是由一层层节点组成的,每个节点都和其他节点相连。每一层的节点都会接收前一层或多层节点的信息,然后再传给下一层。现在,我们可以设计好多好多层的神经网络,有的甚至有几十层、几百层甚至上千层,我们称之为深度神经网络。深度神经网络真的非常强大,它可以从海量的数据中学习到很多复杂的规律和机制,甚至还能发现我们人类还不知道的知识。所以,它可以轻松地识别出各种各样的东西,还能找出这些东西之间的关系,完成很多复杂的计算。这一切都是基于深度神经网络从大规模的数据中学习的过程实现的,真的太神奇了!

生成对抗网络(GAN)原理和构成

GAN 是一种非常有趣和强大的深度学习模型,GAN 是由两个部分构成的:生成器(Generator)和判别器(Discriminator)。生成器的任务是生成看起来真实的数据,而判别器的任务是判断数据是否是真实的。

那么,GAN 是如何工作的呢?它的工作原理可以比作一场“真假美猴王”的游戏。生成器就像六耳猕猴,努力生成看起来真实的数据来“欺骗”判别器。而判别器就像如来,努力分辨出真实数据和生成数据。

在这个游戏过程中,生成器和判别器会不断进行对抗和训练。生成器努力让生成的数据更加真实,判别器则努力识别出数据的真假。随着时间的推移,这场“游戏”会逐渐达到平衡。最终,生成器能够生成出非常接近真实数据的数据,而判别器则难以判断数据的真伪。

这个过程就像是在训练一位画家和一位艺术品鉴赏家。画家努力画出更接近真实的画作,而鉴赏家则努力分辨出画作的真伪。在这个过程中,画家和鉴赏家都会不断提升自己的技能,最终达到一个相对平衡的状态。

简单来说,GAN 就是通过这种生成器和判别器的对抗训练,让生成器学会生成更真实的数据。这种技术在很多领域都有应用,比如图像生成、文本生成等。

以上就是今天的分享,希望能帮到大家!

InfoQ 首发文章的原文链接https://xie.infoq.cn/article/b7b187980adacdaea909cd18c

383
73
1
0
关于作者
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论