AI 프로그래밍 아키텍처를 설계하는 것은 해결하려는 특정 문제와 구현하려는 AI의 유형에 따라 달라집니다. 그러나 다음은 시작점으로 사용할 수 있는 일반적인 아키텍처입니다.
데이터 수집
AI 프로젝트의 첫 번째 단계는 모델을 훈련시키는 데 사용될 데이터를 수집하는 것이다.
데이터의 수집이란, 예를 들어 벌을 인식하는 AI를 만든다면, 수많은 벌 사진이 필요하다.
데이터 사전 정리 및 정규화
데이터가 수집되면 모델 교육에 사용하기에 적합하도록 사전 처리해야 합니다. 여기에는 데이터 정리, 제거 및 데이터 정규화와 같은 작업이 포함될 수 있습니다. 이 부분도 벌 AI 사진 인식으로 빗댄다면 벌을 인식할 수 있도록 벌에 네모나 마킹이나 동그라미로 사진에서 체크할 수 있는 사전 작업이 필요하다.
기능 엔지니어링
피쳐 엔지니어링은 데이터에서 가장 관련성이 높은 피쳐를 선택하여 모델이 사용할 수 있는 형식으로 변환하는 프로세스입니다. 이 단계는 모델의 정확도를 향상시키는 데 중요하다. 위에서 처럼 사전 처리가 끝났다면 또 예시로 사진에서 벌을 찾는 AI를 만들시 수많은 데이터로 날개, 눈, 몸통 등 어떻게 모델의 관련성을 좀 더 쉽고 정확하게 찾을 수 있을지 기능 엔지니어링을 해주어야 한다.
모델 선택
다음 단계는 당면한 문제를 해결할 수 있는 적합한 AI 모델을 선택하는 것이다. 이것은 분류 모형, 회귀 모형, 군집화 모형 또는 작업에 적합한 다른 유형의 모형일 수 있습니다. 이것도 벌로 예시를 들자면, 기능 엔지니어링이 어느정도 구체화 되어 날개, 몸통, 머리 등 구분할 수 있게 된다면 여러마리 혹은 다른 각도에서도 모델의 형태를 잡을 수 있도록 모형을 잡아주어야 한다.
교육
모델을 선택한 후에는 사전 처리된 데이터에 대해 교육해야 합니다. 여기에는 모델에 원하는 출력과 함께 입력 데이터를 공급하고 예측된 출력과 실제 출력 사이의 오류를 최소화하기 위해 모델의 매개 변수를 조정하는 작업이 포함됩니다.
수많은 데이터들을 계속 주입시켜 AI가 모든 경우의 수를 잘 찾을수 있도록 지속적으로 업데이트 교육을 시켜주어야 한다.
검증
모델을 교육한 후에는 별도의 데이터 세트에서 검증하여 성능을 평가해야 합니다. 이 단계는 모델이 교육 데이터에 과적합되지 않도록 하는 데 도움이 됩니다. 수많은 교육 후에도 계속적으로 교육을 시켜주어야하며, 간혹 발생하는 오류나 에러 혹은 잘못된 데이터를 가공 혹은 검색시에는 그 부분을 찾아낼 수 있도록 검증을 지속적으로 평가 운영해야 한다.
테스트
마지막으로, 모델은 실제 시나리오에서 성능을 평가하기 위해 새로운 데이터 세트에서 테스트되어야 한다.
최종적으로 테스트는 알파, 베타와 같은 테스트로 많은 사람들이 이용하게 하여 테스트를 진행하면서 버그를 찾아내거나 오류, 에러를 찾아내는 작업을 진행해야한다.
이것은 AI 프로그래밍 프로젝트의 기본 아키텍처이며, 해결하려는 특정 문제에 따라 확장하거나 수정할 수 있다.
자동으로 홈페이지 데이터를 퍼오는 파싱 프로그램을 파이썬으로 코드를 남겨본다.
다음은 BeautifulSoup라는 아름다운 수프 라이브러리를 사용하여 웹 사이트의 홈페이지에서 HTML 데이터를 구문 분석하고 팬더 라이브러리를 사용하여 엑셀 파일에 저장하는 파이썬 코드의 예이다.
import requests
import pandas as pd
from bs4 import BeautifulSoup
# send a GET request to the website's homepage
url = 'https://example.com'
response = requests.get(url)
# parse the HTML content of the homepage using BeautifulSoup
soup = BeautifulSoup(response.content, 'html.parser')
# find the data that you want to save to an Excel file
# for example, let's say you want to save a list of links on the homepage
links = []
for link in soup.find_all('a'):
links.append(link.get('href'))
# create a pandas DataFrame to store the data
df = pd.DataFrame({'Links': links})
# save the DataFrame to an Excel file
filename = 'homepage_links.xlsx'
df.to_excel(filename, index=False)
이 예에서 코드는 example.com의 홈페이지에 GET 요청을 보내고 BeautifulSoup을 사용하여 HTML 콘텐츠를 구문 분석합니다. 그런 다음 홈페이지에서 링크 목록을 찾아 판다 데이터 프레임에 저장한다. 마지막으로 데이터 프레임은 homepage_links.xlsx라는 이름의 Excel 파일에 저장됩니다. 이 코드를 수정하여 웹 사이트의 홈페이지에서 다양한 유형의 데이터를 구문 분석하고 저장할 수 있습니다.
위처럼 데이터들을 모으고 수집해서 수많은 데이터를 모아 AI로 가공하고, 수정하고, 창조하면서 인공지능이 발전된다고 생각하면 된다.
앞으로는 수많은 AI가 만들어지고, 일자리가 사라지는 부분도 생기겠지만, 훗날에는 인간은 인공지능에게 아이디어를 제공하고, 그 아이디어도 쌓여서 더 훗날에는 인공지능이 더 좋은 아이디어를 만들어내어 인간보다 뛰어난 세상이 오게 될 것이다. 그 날에는 누군가 말하는 종말론도 있지만, 잘만 사용한다면, 오히려 인류를 우주에 나갈 수 있게 만드는 촉매제 역할을 하게 되고, 순식간에 모든 우주를 탐험할 정도의 세상으로 변할지도 모른다.
너무 많은 사람들이 AI를 무서워하지만, 악의적으로 사용만 하지 않는다면 힘들게 사는 모든 인류를 모두가 잘 사는 세상으로 만들 수도 있을 것이다. 절대 사회주의나 민주주의 처럼 인간의 틀이 아닌 좀 더 발전된 사회를 만들어 권력과 돈이 아닌 인류의 지능을 높이고, 전 우주를 탐험 할 수 있는 날이 오길 바란다.
'블로그 > 블로그 일상생활' 카테고리의 다른 글
2023년02월16일-하루일정 (0) | 2023.02.16 |
---|---|
컴퓨터 중독자의 일상생활 (0) | 2023.01.31 |
성공을 위한 아침 루틴을 만드는 방법 (0) | 2023.01.31 |
댓글