Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

인공 지능(AI) - C++ 프로그래밍 가이드


Recommended Posts

 

We may be in the cusp of a new era with Artificial Intelligence (AI) Technologies. What part can C++ software play in the advancement of artificial intelligence? Read on to find out more.

인공지능(AI) 기술이 존재하는 새로운 첨단의 시대에 우리는 존재하고 있다. 그렇다면 C++ 소프트웨어는 인공 지능 발전에 있어 어떤 역할을 할 수 있을까? 이에 대한 내용을 정리해보았다.

 

인공 지능은 공상 과학인가, 과학적 사실인가?

We’ve all seen the movies. AI, taking over the Earth and enslaving what it sees as dumb humans. A patient but unyielding HAL 9000 refusing to open the pod bay doors – “I’m afraid I can’t do that Dave” – in Kubric’s masterpiece. The human brain is such a powerful and mysterious part of our body, and we want to know more and more, and dive deeper yet we are still far from copying or exceeding the human brain, long after Alan Turing mathematician, philosopher – and one of the founders of what we have come to call computer science – proposed a test by which a machine could be judged to be truly intelligent. Generally, the best guess is that we may see machines which exhibit enough intelligence to pass the Turing Test in 10 – 20 years, maybe less.

영화를 통해 우리는 AI를 보아왔다. AI가 지구를 점령하고 멍청한 인간을 노예로 삼는 그런 모습들 말이다. 큐브릭스 감독의 작품에서 HAL 9000은 인내심이 강하면서도 뜻을 굽히지 않는 AI로 등장한다. 그리고 문 여는 것을 거부하며 "그렇게는 할 수 없어요, 데이브"라고 본인의 뜻을 전한다. 사람의 뇌는 강력하면서도 신비로운 부위이다. 그리고 우리는 그에 대해 더 많이 알고 싶어하고, 더 깊이 들여다보고 싶어한다. 하지만 여전히 인간의 뇌를 복제하거나 또는 그를 뛰어넘을 정도에 미치지 못한다. 수학자이자 철학자인 앨런 튜링은 컴퓨터 과학이라 칭하는 개념을 창시한 사람 중 하나로, 기계가 진정한 지능을 갖게되어 판단할 수 있는지 여부를 확인하는 테스트를 제안하기도 했다. 가장 현실성있는 가설은 10 ~ 20년 이내에 튜링 테스트를 통과하기에 충분한 지능을 선보일 기계를 만나게 될 것이라는 것이다.

 

Now we are beginning to close that gap between the real and artificial brain. Advances in hardware are boosting the raw processing technology, combined with ubiquitous high-speed internet and better programming techniques are nudging us towards a new era where machines with artificial intelligence might competently compete with – or even exceed – the abilities of a human intellect.

현재 인류는 실제 뇌와 인공 뇌의 간격을 좁혀가기 시작하고 있다. 하드웨어의 발전은 원시 처리 기술을 초고속 인터넷 속도와의 결합을 통해 더욱 가속화하고 있으며, 더 뛰어난 프로그래밍 기술은 인공 지능을 갖춘 기계가 인간의 지능 능력과 겨루어볼 수 있는 정도의 (또는 더 뛰어난 수준) 새로운 세상으로 우리를 이끌고 있다.

 

Nowadays many companies are involved in developing Artificial Intelligence (AI) applications. It is very clear that there is an apparent increment in the issue of patents in the last 10 years. Still, this is also a good research area in academics. Computers thinking like a human are still absent in our world but day by day we are getting much closer.

현재 많은 기업들이 인공 지능(AI) 애플리케이션 개발에 참여하고 있다. 지난 10년간 특허 이슈가 눈에 띌 정도로 늘어났다는 점은 분명하다. 또한 학문적으로도 여전히 좋은 연구 분야이다. 인간과 같이 사고하는 컴퓨터는 우리의 세상에 아직 존재하지 않지만, 우리는 점점 더 그 날과 가까워지고 있다.

 

 C++로 AI 프로그래밍을 할 수 있는 완벽한 가이드

AI 소개

Artificial Intelligence, also called AI refers to the simulation of human intelligence in machines that are programmed to think like humans and mimic their actions. The term may also be applied to any machine that exhibits traits associated with a human mind such as learning and problem-solving. (reference: Investopedia). 

인공 지능, 일명 AI는 인간처럼 생각하고 인간의 행동을 모방하도록 프로그래밍된 기계에서 인간 지능을 시뮬레이션화하는 것을 의미한다. 이 용어는 학습이나 문제 해결과 같은 인간 정신과 관련된 특성을 나타내는 모든 기계에 적용 가능하다 (참조: Investopedia).

 

There are many other similar definitions. In addition to the AI term, we should add these terms too. Machine learning (ML) is the study of computer algorithms that improve automatically through experience. While we have all advertisements that say Smart or AI-supported thing, in reality, there is no AI yet. We call all AI-related things as AI Technology. The AI term in its definition may be happening with Artificial General Intelligence also called Strong AI, there is also Artificial Biological Intelligence (ABI) that attempts to emulate ‘natural’ intelligence.

유사한 정의는 많다. AI 용어 외에도, 우리는 이 용어들에 대해서도 추가적으로 알고 있어야 한다. 머신 러닝(ML)은 경험을 통해 자동으로 점점 더 개선되는 컴퓨터 알고리즘 학문이다. 스마트(Smart) 또는 AI 지원이라고 모든 광고들이 이야기 하지만, 아직 실제 AI는 없다. AI와 관련된 모든 것들을 AI 기술이라고 부르는 것이다. 정의상 AI 용어는 Strong AI라고도 불리는 인공 일반 지능(Artificial General Intelligence)으로 발생할 수 있으며, 인공 생물학적 지능(ABI, Artificial Biological Intelligence), '자연' 지능을 모방하려는 개념도 있다.

 

뉴런 모델

Do you want to develop your of artificial intelligence application from scratch? Want to learn how you can develop a simple artificial neuron model in C++? In this post we will explain with a very simple artificial neuron example. We have released A Simple Artificial Neuron Model in C++ and Very Simple Artificial Neural Network (ANN) Example in C++ and we also released Array Based Simple Artificial Neuron Model in C++ before. We highly recommend reading Introduction to AI Technologies and them if you are new to AI technology.

인공 지능 애플리케이션을 처음부터 개발하고 싶다면? C++에서 간단한 인공 뉴런 모델 개발 방법을 알고 싶다면? 이번 글에서 매우 간단한 인공 뉴런 예제를 소개하고자 한다. 우리가 선보인 C++에서의 간단한 인공 뉴런 모델 C++에서의 매우 간단한 인공 신경망 네트워크(ANN) 예제가 있다. 그리고 이전에 소개했던 C++에서의 배열 기반의 간단한 인공 뉴런 모델도 있다. AI 기술을 처음 접한다면, AI 기술 소개와 위 언급한 자료들을 읽어보기를 적극 추천한다.

 

spacer.png

 

활성화 기능

A Minimum Artificial Neuron has an activation value (a), an activation function phi() and weighted (w) input net links. So, it has one activation value, one activation function and one or more weights depend on the number of its input nets.

최소 인공 뉴런(Minimum Artificial Neuron)에는 하나의 활성화 값 (a), 하나의 활성화 함수 phi(), 가중치 (w) 입력 net 링크가 있다. 즉, 하나의 활성화 값, 하나의 활성화 함수, 입력 net 숫자에 따라 달라지는 하나 이상의 가중치가 있는 것이다.

 

The Activation Function phi() is also called a transfer function, or threshold function that determines the activation value a = phi(sum) from a given value (sum) from the Net Input Function. The Net Input Function; here the sum is a sum of signals in their weights, and the activation function is a new value of this sum with a given function or conditions. In other words, the activation function is a way to transfer the sum of all weighted signals to a new activation value of that signal. There are different types of activation functions, mostly Linear (Identity), bipolar and logistic (sigmoid) functions are known well. The activation function and its types are explained well here.

활성화 함수 phi()전달 함수, 임계값 함수라고도 불리는데 순 입력 함수(Net Input Function)의 주어진 값 (sum)에서 활성화 값 a = phi(sum)을 결정하는 함수이다. 순 입력 함수, 여기서 합(the sum)은 가중치 신호의 합을 의미하며, 활성화 함수는 주어진 함수나 조건이 있는 이 합의 새로운 값이다. 다시 말해서, 활성화 함수는 모든 가중치 신호의 합을 해당 신호의 새로운 활성화 값으로 전송하는 방법이다. 활성화 함수에는 여러 유형이 있는데 보통 선형 (Identity), 양극성, 논리성 (sigmoid) 함수가 잘 알려져 있다. 활성화 함수와 유형은 여기에 잘 설명되어 있다.

 

C++ 기본 AI 예제

C++빌더 윈도우 프로젝트에서 FANN 라이브러리를 불러오는 방법, FANN은 엔지니어링 연구, 데이터 분석 관련 초보자 애플리케이션용의 매우 친숙하고 개방형 라이브러리이다.

 

AI API 연결 REST 예제

 

AI 관련 더 많은 자료를 보고싶다면?

LearnCPlusPlus.org 에서 검색해보자

 

DL, ML, AI를 소개하는 MIT의 영상

Note that this is publicly available third-party content over which Embarcadero has no control or association with the authors. We link it here for educational purposes.

참고. 해당 영상은 엠바카데로가 저작권자와 연관이 없는 외부 컨텐츠이며, 공개적인 활용은 가능하다. 다만 교육 목적으로 해당 영상을 이 곳에 공유한다는 점을 참고하기를 바란다.

 

 

 

 

 

이 댓글 링크
다른 사이트에 공유하기

  • RAD changed the title to 인공 지능(AI) - C++ 프로그래밍 가이드

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.