본문 바로가기
  • AI와 함께 세상을 아름답게

인공지능12

인공지능과 게임 - 바둑 앞편에서는 체스와 체커라는 탐색과 보드 평가에 중심을 둔 AI 게임 플레이어의 구성에 관해 알아보았습니다. 이와 같은 설명은 기본적으로 바둑이나 장기 게임을 작성하는 경우에도 동일합니다. 그러나 체스나 체커와는 달리 바둑과 장기는 탐색해야 할 상태의 수가 현저하게 다릅니다. 체스와 장기를 비교하면 장기 쪽이 보드가 넓고 잡은 말을 다시 이용하는 등의 규칙상 특징이 있기 때문에 탐색해야 할 상태의 수가 더 많습니다. 바둑의 경우는 보드가 장기의 4배 이상인 데다 규칙이 단순한 만큼 착수가 자유로워 상태의 수가 매우 많아집니다. 더욱이 바둑의 경우는 어느 쪽 플레이어가 우수한지를 추정하는 평가가 어렵다는 특징이 있습니다. 여기서는 먼저 바둑에 관해 공부하고, 장기는 다음 편에서 공부하도록 하겠습니다. 우선 .. 2023. 6. 13.
자연어처리(NLP; Natural Language Processing) - 음성인식 (5) 3. 음성인식 음성인식(voice recognition, speech recognition)은 자연어처리 시스템에 문자 대신 음성으로 입력이 가능한 인식기술입니다. 즉, 음성인식(speech recognition)은 마이크 등의 입력장치를 통해 얻어진 음성 신호를 컴퓨터가 텍스트 등의 언어 데이터로 전환하는 기술입니다. 음성인식은 기본적으로는 음성을 사용한 문자 입력 방식을 개발하는 데서 출발하였습니다. 1952년 벨 연구소에서 단일 화자에 의한 숫자 인식기가 개발된 이후, 특정 화자의 음성 신호를 데이터로 전환하는 기술이 지속적으로 개발되어 왔습니다. 3.1 음성의 인식 아래 (그림 6)은 일반적인 음성인식 시스템의 구성 및 처리 절차를 나타낸 것입니다. 음성인식 시스템에 음성이 주어지면 음성에 포함된.. 2023. 6. 5.
떼지능(Swarm Intelligence) 여기서는 생물의 군집이 나타내는 지적 활동에서 힌트를 얻은 알고리즘인 떼지능(swarm intelligence)에 공부합니다. 일자군집 최적화, 개미집단 최적화, 물고기 떼의 행동행태 알고리즘 등을 예로서 개념을 이해하는데 중점을 두고 공부해 보겠습니다. 1. 입자군집 최적화(PSO; Particle Swarm Optimization) 입자군집 최적화(PSO; Particle Swarm Optimization)는 물고기 떼로 대표되는 생물의 군집 활동을 시뮬레이션하여 최적값을 탐색하는 최적화 방법입니다. PSO와 같은 swarm-based optimization에서는 주어진 법칙에 더하여 agent들이 저장하고 있는 정보를 조합하여 최적해를 찾아갑니다. 입자군집 최적화(PSO)에서는 탐색 공간 속에 최적.. 2023. 5. 30.
유전 알고리즘(GA; Genetic Algorithm) (2) 2023.05.27 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI): 진화연산(2) - 유전 알고리즘(GA; Genetic Algorithm) (1) (앞편의 유전자 알고리즘(1)에서 이어집니다) 3) 돌연변이(mutation) 돌연변이(mutation)는 랜덤으로 유전정보를 바꾸는 조작입니다. 유전정보의 최소 단위인 유전자자리에 주목해서 낮은 확률로 유전자자리의 0과 1을 전향시키는 방법(reverse) 또는 두 개의 유전자라리 사이의 유전정보를 바꾸는 방법(exchange)입니다. 일반적으로 돌연변이를 발생하게 하는 확률값은 몇 % 정도의 낮은 수치를 지정합니다. 이 값이 너무 크면 유전적인 조작으로 획득한 형질이 금방 망가져버려서 진화가 멈춥니다. 반대로 너무.. 2023. 5. 29.
유전 알고리즘(GA; Genetic Algorithm) (1) 진화연산의 구체적인 예로 유전 알고리즘(GA; Genetic Algorithm), 유전 프로그래밍(GP; Genetic Programming) 등이 있습니다. 여기서는 유전 알고리즘에 관하여 공부합니다. 2. 유전 알고리즘(GA; Genetic Algorithm) 유전 알고리즘(GA; Genetic Algorithm)은 집단 기반의 최적화 기법인 진화 알고리즘의 한 종류로 집적 회로 설계, 리보핵산(RNA:RiboNucleicAcid) 구조 예측, 인공 신경망(ANN) 학습 등 매우 다양한 분야의 최적화 및 탐색(search) 문제에 적용되고 있습니다. 유전 알고리즘은 1931년 시월 라이트(Sewall Wright)가 제안한 적합도 경관(fitness landscape)의 개념에 영향을 받았고, 196.. 2023. 5. 27.
인공지능(AI)과 인공 신경망(Artificial Neural Network) (2) 2023.05.19 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI)과 인공 신경망(Artificial Neural Network) (1) (인공 신경망은 하드웨어로 구현될 수도 있으나, 주로 컴퓨터 소프트웨어로 구현됩니다. 인공 신경망은 기초 컴퓨팅 단위인 뉴런 여러 개가 가중된 링크(weighted link)로 연결된 형태입니다. 가중된 링크(weighted link)는 주어진 환경에 적응할 수 있도록 가중치를 조정할 수 있습니다.) 인공 신경망은 초기 퍼셉트론을 시작으로 순환 신경망(RNN: Recurrent Neural Network), 합성곱 신경망(CNN: Convolutional Neural Network), 자기 조직화지도 (SOM: Self-Organ.. 2023. 5. 21.
인공지능(AI)과 인공 신경망(Artificial Neural Network) (1) 1. 인공 신경망 인공 신경망(Artificial Neural Network: ANN)은 생물의 신경세포 및 신경세포 네트워크 기능을 시뮬레이션해서 다양한 입출력 관계를 구현하는 계산기구입니다. 인공신경망은 인간 두뇌의 신경세포 뉴런 네트워크 구조를 모방하여 만든 기계학습(machine learning: 머신러닝) 알고리즘 모델로 인공지능(AI) 시스템이 사람처럼 스스로 학습할 수 있도록 하는 머신러닝 기법입니다. 인공 신경망 기술이 적용되면서 머신러닝의 기술들이 한층 더 발전하고 있습니다. 생물의 신경계는 신경세포(neuron)의 상호 결합으로 이루어져 있습니다. 신경세포(neuron)는 시냅스(synapse)라 불리는 접촉부를 경유해 신경세포 간에 정보를 전달합니다. 인공 신경망(이하 '신경망'으로 .. 2023. 5. 19.
머신러닝 학습 방법: K-인접기법, 결정트리와 랜덤 포레스트 & 서포트 벡터 머신(SVM) 여기서는 앞서 머신러닝(Machine Learning)에서 언급되었던 학습 방법들 중에서 데이터를 분류하는 기법들에 대해 개념 위주로 학습하고자 합니다. 1. K-인접기법(K-nearest neighbor method: KNN) K-인접기법(KNN)은 미리 주어진 학습 표본(데이터)과 새로운 데이터의 특징을 비교하고 비슷한 것을 찾아내어 새로운 데이터로 분류하는 방법입니다. 학습 표본을 기반으로 변수 간의 관계를 기반으로 분류 규칙을 생성하고 새로운 데이터를 특정 범주에 분류하는 기법입니다. 따라서 K-인접기법에서는 미리 학습데이트를 예시로 줘야 합니다. 그리고 데이터 세트에는 학습데이터의 특징을 나타내는 변수들과 그에 따른 분류 레이블인 클래스가 포함됩니다. K-인접기법은 어떤 특정한 공간 내에서 새로.. 2023. 5. 18.
머신러닝 학습 방법과 몇 가지 개념 (1) 1. 머신러닝(Machine Learning)의 학습 방법 머신러닝에는 다양한 학습 방법(기술)이 있습니다. 대표적인 몇 가지 학습 방법과 개념을 아래 도표로 소개합니다. 구체적이고 깊이 있는 내용은 이후 개별적으로 보다 깊이 있게 공부해 보겠습니다. 머신러닝(Machine Learning)의 대표적인 학습 방법 방법의 명칭 개념 설명 K-인접기법 분류 지식의 학습 방법. 특정 공간에 배치된 데이터세트를 분류하기 위한 지식으로 이용한다. 주어진 표본에서 거리가 가까운 순으로 k개의 데이터세트를 조사해서 다수를 차지하는 데이터세트가 속하는 클래스를 분류 결과의 클래스로 삼는다. 결정트리 두 갈래로 나뉜 나무 구조에 따라 특정 분류 순서를 기술한 데이터 구조. 복수의 특징을 통해 성질이나 분류를 결정할 수 .. 2023. 5. 13.
인공지능(AI)에 적합한 프로그래밍 언어 인공지능은 소프트웨어 기술이기 때문에 인공지능 시스템에는 프로그래밍 언어가 필요합니다. 여기서는 인공지능에 많이 사용되는 대표적인 몇 가지 프로그래밍 언어에 대해 알아보겠습니다. 1. LISP 인공지능 연구에서 많이 사용되는 언어 중 가장 역사가 깊은 언어가 LISP입니다. LISP는 1958년 존 맥카시(John McCathy)가 설계한 것으로 원래는 계산과학에 관한 이론을 기술하기 위해 고안된 언어였는데, 나중에 컴퓨터의 인터프리터(Interpreter: 사람이 작성한 프로그램을 순차적으로 해석해 기계어로 번역하면서 실행하는 프로그램)로 구현되었습니다. 이름은 LIst Processor이며 리스트 처리 기계에서 유래하였습니다. LISP의 특징은 기호처리가 쉽다는 점입니다. LISP와 비슷한 시기에 개.. 2023. 5. 10.
728x90