Day1

83 阅读8分钟

人工智能交互挑战 记录 DAY 1

讲师:@张捷嘉(JJ ZHANG)

助教:@哈哈懂

教务:@华石林

学生:周子睿

1. 人工智能导论

● 人工智能的基本概念和历史发展

弱人工智能(Weak AI)指的是专注于解决特定任务的人工智能系统。这类系统通常在某一特定领域表现出色,但缺乏广泛的认知能力。许多目前的人工智能应用,如语音识别、图像识别等,都属于弱人工智能。

强人工智能(Strong AI)是指具有类似于人类的广泛认知能力的人工智能系统。这类系统能够在多个领域和任务中表现出类人智能,甚至超越人类。目前,强人工智能仍然是研究的目标,尚未实现。

● 机器学习与深度学习的了解

是人工智能的一个子领域,使得计算机你能够在数据中学习,并在没有明确的编程指令情况下,做出决策,机器学习算法可以分为监督学习,无监督学习和强化学习等类型

深度学习是一种基于人工神经网的机器学习方法,它使得计算器可以处理大量的数据,图像,语音。他的学习模型,通常由很多多层的神经元组成。

● 自然语言处理的应用场景

1.  机器翻译

2.  情感分析

3.  文本摘要

4.  语音识别

5.  语义搜索

6.  文本分类

7.  命名实体识别

2. 研讨案例分析

● AlphaGo、自动驾驶技术和ChatGPT案例

微软

长期以来,微软一直是ChatGPT的坚定支持者,也是其背后公司OpenAI的主要投资方。为ChatGPT聊天机器人提供支持的GPT-3和GPT-4大语言模型,如今也在驱动微软的Bing搜索引擎,允许用户通过对话界面、面非传统网络链接列表来搜索和查看结果。微软还打算将这项技术集成到Word和Excel等家喻户晓的软件服务当中。最后,微软还采用Codex(由GPT-3微调而来)以创建计算机代码,通过GitHub Copilot为开发人员提供编码自动补全建议。

● 各案例中应用的AI技术(如语音助手)

办公软件:AI帮做PPT、制表格

3. 人工智能体验

● 图像识别和语音识别的实际应用和背后技术

图像识别是利用计算机视觉技术来识别和分类图像中的物体,背后的技术包含着卷积神经网络和CNN,是通过逐层提取图像中的特征,从而准确的分类和识别

使计算机可以识别语音,并把语音转换为文本,通常涉及声学的模型,语言的模型和解码算法,深度神经网络和DNN和循环神经网络RNN,是语音识别中的关键技术。

● AI 实验室中的数据处理示例分析

4. 编辑器介绍与开发环境搭建

● 常用编程编辑器(VS Code, PyCharm)的优缺点

为PyThon开发设计的一个集成开发环境(IDE),提供丰富的代码分析,调试。集成工具优点:功能全面,可以自动补全;缺点:占用系统资源多,重量级。

轻量级的编辑器,支持多重编程语言和插件扩展。优点:界面简洁,速度快,可高度定制。

● 树莓派环境的搭建过程与其应用场景

下载树莓派系统

烧写软件

插入网线 连接局域网

插入储存卡

5. 编写首个程序脚本

● 编写“Hello World”程序

● print('hello world')

● 

● 变量与数据类型

变量

可变的量

变量名+赋值符号=变量值

# 整型 int integer

a=1 #<class'int'>

b="2" #<class'int'>

# 字符串 str string

c='R1ayx_o'

c='HAHA'

c="我是一个大段落"

c="我也是一个大段落"

print(a+int(b))

浮点 Float

d=3.14 #<class'flo'>

# 列表 list

# student_list=['JJ','KK','R1ay']

# # print(student_list)

# # print(type(student_list))

# # print(student_list[0])

# # print(len(student_list)) #length

# print(student_list[0:1]) #取值范围

##对列表里的元素取值

#下标 index 从0开始对应列表里的每一个元素

print(stu_list[1:5])

stu_list.pop(2) #抛弃

print(stu_list)

#字典 dict dictionary

#键 -> key

#值 -> value

#键值对

classroom = {

'name':'Norris',

'gender':'plastic bag',

'age':99

}

#print(classroom['name'])

print(classroom.keys())

print(classroom.values())

print(classroom.items())

#元组 tuple

#用小括号表示()

a = (1,2,3)

6. 树莓派概述与功能介绍

● 树莓派的硬件结构与功能特点

7. Python 基础

● Python 语法结构的基本认识与实战应用

● 数据类型的选择

● 条件语句与逻辑运算

如果 或者

#if...else...

#如果 或者如果 或者

#if...elif...else....

score_input: str=input('请输入你的学分')

if score_input>90:

print('You are a honor student')

elif 90>= score_input >80:

print('You are a good student')

elif 80>= score_input >70:

print('You are a bad student')

用循环嵌套输出一个九九乘法表口诀表

# normal

for a in range(1,10):

for b in range(1,10):

print(a, '', b ,'=',(ab))

#pro

for i in range(1,10):

for j in range(1,i+1):

print(F'{i} x {j} = {i*j}', end='\t')

print(' ')

8. 程序结构与逻辑运算

● 程序顺序结构与条件结构的设计与实现

● 循环结构的应用场景

● 逻辑运算符的使用

import time

a=1

b=10

c=50

d=100

print(a+b)

print(a-b)

print(a*b)

print(d/c)

# 叠加运算

#模拟火箭发射

time_counter=10

for i in range(10):

print(time_counter)

time.sleep(1)

time_counter-=1

a=3

b=10

c=50

d=100

print(b%a)

print(b//a)

9. 编写一个傻瓜式机器人

● 简单机器人程序的设计思路

● 机器人行为的逻辑编程

● 程序调试与优化过程中的问题及解决

简单机器人程序设计思路以及落实到’傻瓜式机器人‘的探究报告

'How does a simple robot work? [1]'我们向谷歌提出这样一个问题,我们能得到的较为官方的答案是'Their sensors feed measurements to a controller or computer, which processes them and then sends control signals to motors and actuators.'[2]存在于robotsguide.com的一篇名为WHAT IS ROBOT 的一篇文章中[3]。且文中提到:机器人通常在重复执行从感知到计算再到运动的一个名为‘反馈循环[4]’的行为。所以,‘接收,整合,处理,规划,输出’,就是简单机器人程序设计的主要流程。

相较于中间三个过程,接收和输出看起来是最简单是部分——只是传输而已。所以当我们看到‘整合,处理,规划’之后,我们更应该把重心放在细化它们上。如何通过到今天的‘傻瓜式机器人[5]’上来解释呢?

不难发现,整合:即当输入的信息被程序接收后 我们需要将数据存储起来。在这里,我用的是定义一个名为input-choice这个变量来存储输入数据。

处理:我选择通过if语句来进行条件的判断筛选,进行相对应的处理——一个输入数字对应一个输出类别。虽然较为低效和基础,但是颇有成效且思路清晰。随后,我想让指令重复运行,即可以一直运行程序直到输入了终止程序的指令

规划:将数字对应内容找到后,我希望能够确定内容并将其输出,而规划的要点就是:将数字对应的内容提前规划好,提前创建一个预设。最后进行输出,并在用户输入’0‘之前一直运行此程序

最后,虽然程序较为简单粗暴 但更能体现输入-计算-输出这三步,其中’计算‘包含的’整合,处理,规划‘尤为重要。

[1][简单机器人是如何运作的?]

[2][传感器将测量数据喂给控制器或者电脑 然后电脑会对其进行处理成控制信号 随即发送至电机或动力单元]

[3][robotsguide.com/learn/what-…]

[4][feedback loop]

print('my demo test start here...')

Topics = {

'1':'greeting',

'2':'jokes',

'3':'cheating',

'4':'luckyNumber',

'5':'date',

'6':'year',

'7':'month',

'8':'day',

'9':'hour',

'10':'minute'

}

print('MENU')

print('0:exit')

print('1:greeting')

print('2:jokes')

print('3:cheating')

print('4:luckyNumber')

print('5:date')

print('6:year')

print('7:month')

print('8:day')

print('9:hour')

print('10:minute')

for i in range(1,11):

input_choice = input("Give a choice: ")

if input_choice == '1':

print('HELLO')

elif input_choice == '2':

print('What bee cant fly?The answer is...KO-BEE')

elif input_choice == '3':

print('another day is a better day!!!')

elif input_choice == '4':

print('24')

elif input_choice == '5':

print('Monday')

elif input_choice == '6':

print('2024')

elif input_choice == '7':

print('August')

elif input_choice == '8':

print('19th')

elif input_choice == '9':

print('4pm')

elif input_choice == '10':

print('40')

elif input_choice == '0':

break

else:

print('system error,the number is out of range')

10. Linux 基础

● Linux 基本命令的实用性分析

● 文件与目录操作在项目中的应用

11. Python 基础 II 与硬件控制

● 列表与字典在编程中的应用

12. 循环控制与思维逻辑

● for循环与while循环的区别与应用

1 while loop 循环

# while+条件

# 循环体(需要执行的代码)

a=0

while Ture:

● 嵌套循环在复杂问题中的应用

● 循环控制的思维逻辑训练

13. 完成乘法口诀表挑战

循环嵌套在乘法表设计中的应用

# 用循环嵌套输出一个九九乘法表口诀表

# normal

for a in range(1,10):

for b in range(1,10):

print(a, '', b ,'=',(ab))

#pro

for i in range(1,10):

for j in range(1,i+1):

print(F'{i} x {j} = {i*j}', end='\t')

print(' ')