RAD 11월 14일, 2022에 포스트됨 공유하기 11월 14일, 2022에 포스트됨 원문제목: Artificial Intelligence – A Complete Guide To Programming In C++ 원문: https://blogs.embarcadero.com/artificial-intelligence-a-complete-guide-to-programming-in-c/ 작성자: Yılmaz Yörü (2022.11) 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), '자연' 지능을 모방하려는 개념도 있다. C++에서의 인공 지능 소개 C++에서의 간단한 인공 뉴런 모델 C++에서 인공 뉴런 모델 구현하기 뉴런 모델 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 기술 소개와 위 언급한 자료들을 읽어보기를 적극 추천한다. C++에서의 매우 간단한 인공 신경망 네트워크 예제 C++에서의 구조 기반의 간단한 인공 뉴런 모델 C++에서의 배열 기반 간단한 인공 뉴런 모델 C++에서의 클래스 기반 인공 뉴런 모델 벡터 기반 간단한 인공 뉴런 모델 활성화 기능 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++에서의 바이너리/헤비사이드 계단 함수 C++에서의 가우스 에러 선형 유닛 ReLU(Rectified Linear Unit) 활성화 ANN 함수 하이퍼볼릭 탄젠트 활성화 ANN 함수 C++ 앱에서의 SELU 활성화 함수 작동 신경망 C++ 앱에서의 시그모이드 선형 유닛 (SiLU) 신경망에서의 가우스 활성화 함수 ELU 인공 신경망 함수 Self Regularized Non-Monotonic (Mish) 활성화 함수 C++ 기본 AI 예제 C++빌더 윈도우 프로젝트에서 FANN 라이브러리를 불러오는 방법, FANN은 엔지니어링 연구, 데이터 분석 관련 초보자 애플리케이션용의 매우 친숙하고 개방형 라이브러리이다. 간단하지만 강력한 C++ 챗봇 C++에서의 브루트 포스 메소드 (Brute Force Method) C++에서의 유니코드 문자열 최소 편집 거리 메소드(Edit Distance Method) 신경망에서의 SoftMax 함수 AI API 연결 REST 예제 C++빌더 REST 디버거는 무엇이고, 활용 방법은? C++로 간단한 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. 참고. 해당 영상은 엠바카데로가 저작권자와 연관이 없는 외부 컨텐츠이며, 공개적인 활용은 가능하다. 다만 교육 목적으로 해당 영상을 이 곳에 공유한다는 점을 참고하기를 바란다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.