시계열 데이터에 적용하기 위해 선호되는 신경망
소개 | 이 글에서는 순환 신경망 RNN의 개발 과정을 간략하게 소개하고 경사 하강 알고리즘, 역전파 및 LSTM 과정을 분석합니다. |
과학 기술의 발전과 하드웨어 컴퓨팅 능력의 실질적인 향상으로 수십 년간의 비하인드 작업에서 인공 지능이 갑자기 사람들의 눈에 들어왔습니다. 인공지능의 근간은 빅데이터, 고성능 하드웨어, 뛰어난 알고리즘의 지원에서 나온다. 2016년, 딥러닝은 구글 검색의 화두가 됐다. 지난 1~2년 간 인간과 기계의 바둑 대결에서 알파고가 세계 챔피언을 꺾으면서 사람들은 더 이상 AI의 급속한 발전을 막을 수 없다고 느낀다. 2017년에는 AI가 획기적인 발전을 이루었고, 지능형 로봇, 무인 자동차, 음성 검색 등 관련 제품도 사람들의 삶에 등장했습니다. 최근 세계 정보 컨퍼런스(World Intelligence Conference)가 텐진에서 성공적으로 개최되었습니다. 이 컨퍼런스에서 많은 업계 전문가와 기업가들이 미래에 대한 견해를 표명했습니다. 대부분의 기술 기업과 연구 기관은 인공 지능의 전망에 대해 매우 낙관적입니다. 예를 들어 Baidu는 그가 유명해지든 결국 실패하든 그가 아무것도 얻지 못하는 한 그의 모든 재산은 인공 지능에 있습니다. 딥러닝이 왜 갑자기 이렇게 큰 효과와 열풍을 불러일으키는 걸까요? 기술이 삶을 변화시키고, 앞으로는 많은 직업이 인공지능으로 서서히 대체될 수도 있기 때문이다. 다들 인공지능과 딥러닝에 대해 이야기하고 있어요. Yann LeCun도 중국에서 인공지능의 인기를 실감하고 있어요!
이 기사에서는 시계열 데이터에 선호되는 네트워크이기도 한 클래식 네트워크 RNN(Recurrent Neural Network)을 소개합니다. 특정 순차적 기계 학습 작업과 관련하여 RNN은 다른 알고리즘과 경쟁할 수 없는 매우 높은 정확도를 달성할 수 있습니다. 이는 기존 신경망이 단기 기억만 갖고 있는 데 반해 RNN은 제한된 단기 기억이라는 장점을 갖고 있기 때문입니다. 그러나 1세대 RNN 네트워크는 많은 주목을 받지 못했는데, 이는 연구자들이 역전파 및 경사 하강 알고리즘을 사용하는 과정에서 심각한 경사 소멸 문제를 겪었고, 이로 인해 수십 년 동안 RNN 개발을 방해했기 때문입니다. 마지막으로, 1990년대 후반에 획기적인 발전이 이루어졌으며, 이는 보다 정확한 차세대 RNN으로 이어졌습니다. 이러한 혁신을 기반으로 거의 20년 동안 개발자들은 Google Voice Search 및 Apple Siri와 같은 앱이 핵심 프로세스를 빼앗기 시작할 때까지 차세대 RNN을 완성하고 최적화했습니다. 오늘날 RNN 네트워크는 모든 연구 분야에 퍼져 있으며 인공 지능의 르네상스를 촉발하는 데 도움을 주고 있습니다.
과거 관련 신경망(RNN)
다시 "WISDOM"을 입력하여 순환 네트워크에 적용합니다. RNN 네트워크의 단위 또는 인공 뉴런은 "D"를 수신할 때 이전에 수신한 문자 "S"를 입력으로 갖습니다. 즉, 현재 사건과 결합된 과거 사건을 입력으로 사용하여 다음에 일어날 일을 예측하므로 제한된 단기 기억의 이점을 제공합니다. 학습할 때 충분한 컨텍스트가 주어지면 다음 문자가 "O"일 가능성이 가장 높다고 추측할 수 있습니다.
조정하고 다시 조정 모든 인공 신경망과 마찬가지로 RNN 장치는 다중 입력에 가중치 행렬을 할당합니다. 이러한 가중치는 네트워크 계층의 각 입력 비율을 나타내며, 이 가중치에 함수가 적용되어 단일 출력이 결정됩니다. 손실함수(cost function)라고 하며 실제 출력과 목표 출력 사이의 오차를 제한합니다. 그러나 RNN은 현재 입력뿐만 아니라 과거 순간의 입력에도 가중치를 할당합니다. 그런 다음 손실 함수를 최소화하여 현재 입력과 과거 입력에 할당된 가중치를 동적으로 조정합니다. 이 프로세스에는 경사하강법과 역전파(BPTT)라는 두 가지 핵심 개념이 포함됩니다.
경사하강법
머신러닝에서 가장 유명한 알고리즘 중 하나는 경사하강법(Gradient Descent) 알고리즘입니다. 가장 큰 장점은 "차원성의 저주"를 크게 방지한다는 것입니다. 차원의 저주란 무엇입니까? 벡터를 포함하는 계산 문제에서 차원의 수가 증가하면 계산량이 기하급수적으로 증가한다는 의미입니다. 이 문제는 최소 손실 함수를 달성하기 위해 너무 많은 변수를 계산해야 하기 때문에 많은 신경망 시스템을 괴롭힙니다. 그러나 경사하강법 알고리즘은 다차원 오류 또는 비용 함수의 로컬 최소값을 증폭하여 차원성의 저주를 깨뜨립니다. 이는 시스템이 개별 단위에 할당된 가중치 값을 조정하여 네트워크가 더욱 정확해지는 데 도움이 됩니다.
시간에 따른 역전파RNN은 역방향 추론을 통해 가중치를 미세 조정하여 단위를 훈련합니다. 간단히 말하면, 유닛에서 계산한 전체 출력과 목표 출력 사이의 오차를 기반으로 네트워크의 최종 출력 끝에서 역방향 레이어별 회귀를 수행하고 손실 함수의 편도함수를 사용하여 조정합니다. 각 단위의 무게. 유명한 BP 알고리즘입니다. BP 알고리즘에 대한 자세한 내용은 이 블로거의 이전 관련 블로그를 참조하세요. RNN 네트워크는 BPTT(시간을 통한 역전파)라는 유사한 버전을 사용합니다. 이 버전은 이전 시간(T-1)의 입력 값에 해당하는 각 단위의 메모리를 담당하는 가중치를 포함하도록 튜닝 프로세스를 확장합니다.
예: 그래디언트 소실 문제경사 하강 알고리즘과 BPTT의 도움으로 초기 성공을 거두었지만 많은 인공 신경망(1세대 RNN 네트워크 포함)은 결국 경사 소멸 문제라는 심각한 장애를 겪었습니다. Vanishing Gradient 문제란 무엇인가요? 기본 아이디어는 실제로 매우 간단합니다. 먼저 경사도를 기울기로 생각하여 경사도의 개념을 살펴보겠습니다. 심층 신경망 훈련의 맥락에서 경사 값이 클수록 경사가 더 가파르고 시스템이 결승선까지 더 빠르게 미끄러져 훈련을 완료할 수 있음을 나타냅니다. 그러나 여기서 연구자들은 문제에 부딪혔습니다. 경사가 너무 평평하면 빠른 훈련이 불가능했기 때문입니다. 이는 딥 네트워크의 첫 번째 레이어에 특히 중요합니다. 첫 번째 레이어의 그래디언트 값이 0이면 조정 방향이 없고 관련 가중치 값을 조정하여 손실 함수를 최소화할 수 없기 때문입니다. 현상을 "제거"라고 합니다. 그래디언트가 점점 작아질수록 훈련 시간은 점점 길어집니다. 물리학의 선형 운동과 마찬가지로 공은 매끄러운 표면에서 계속 움직입니다.
1990년대 후반, 위에서 언급한 그래디언트 소실 문제를 해결하는 획기적인 발전이 이루어지면서 RNN 네트워크 개발에 두 번째 연구 붐이 일어났습니다. 이 획기적인 발전의 핵심 아이디어는 단위 장단기 기억(LSTM)의 도입입니다.
LSTM의 도입으로 AI 분야에 새로운 세상이 열렸습니다. 이는 이러한 새로운 단위 또는 인공 뉴런(RNN의 표준 단기 기억 단위와 같은)이 처음부터 입력을 기억한다는 사실 때문입니다. 그러나 표준 RNN 셀과 달리 LSTM은 일반 컴퓨터의 메모리 레지스터와 유사한 읽기/쓰기 속성을 갖는 메모리에 탑재될 수 있습니다. 또한 LSTM은 디지털이 아닌 아날로그이기 때문에 특징을 구별할 수 있습니다. 즉, 곡선이 연속적이고 기울기의 급경사를 알 수 있습니다. 따라서 LSTM은 역전파 및 경사 하강과 관련된 부분 미적분학에 특히 적합합니다.
요약하자면, LSTM은 가중치를 조정할 수 있을 뿐만 아니라 학습 기울기에 따라 저장된 데이터의 유입 및 유출을 유지, 삭제, 변환 및 제어할 수 있습니다. 가장 중요한 것은 LSTM이 중요한 오류 정보를 오랫동안 보존할 수 있어 기울기가 상대적으로 가파르고 따라서 네트워크 훈련 시간이 상대적으로 짧다는 것입니다. 이는 Vanishing Gradient 문제를 해결하고 오늘날의 LSTM 기반 RNN 네트워크의 정확도를 크게 향상시킵니다. RNN 아키텍처의 상당한 개선으로 인해 Google, Apple 및 기타 많은 고급 기업은 이제 RNN을 사용하여 비즈니스의 핵심 애플리케이션을 강화하고 있습니다.
요약반복 신경망(RNN)은 이전 입력을 기억할 수 있으므로 음성 인식과 같은 지속적이고 상황에 민감한 작업에 있어서 다른 인공 신경망보다 더 큰 이점을 제공합니다.
RNN 네트워크의 개발 역사에 관하여: 1세대 RNN은 역전파 및 경사 하강 알고리즘을 통해 오류를 수정하는 기능을 달성했습니다. 그러나 Vanishing Gradient 문제로 인해 RNN의 개발이 방해를 받았고, 1997년이 되어서야 LSTM 기반 아키텍처가 도입되면서 큰 진전이 이루어졌습니다.
새로운 방법은 RNN 네트워크의 각 장치를 아날로그 컴퓨터로 효과적으로 전환하여 네트워크 정확도를 크게 향상시킵니다.
작가 정보
Jason Roell: 딥 러닝과 이를 혁신적인 기술에 적용하는 데 열정을 갖고 있는 소프트웨어 엔지니어입니다.
링크드인: http://www.linkedin.com/in/jason-roell-47830817/
위 내용은 시계열 데이터에 적용하기 위해 선호되는 신경망의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Web.xml 파일을 열려면 다음 방법을 사용할 수 있습니다. 텍스트 편집기 (예 : 메모장 또는 문자 메시지)를 사용하여 통합 개발 환경 (예 : Eclipse 또는 NetBeans)을 사용하여 명령을 편집하십시오 (Windows : Notepad Web.xml; Mac/Linux : Open -A Texted web.xml).

언어의 멀티 스레딩은 프로그램 효율성을 크게 향상시킬 수 있습니다. C 언어에서 멀티 스레딩을 구현하는 4 가지 주요 방법이 있습니다. 독립 프로세스 생성 : 여러 독립적으로 실행되는 프로세스 생성, 각 프로세스에는 자체 메모리 공간이 있습니다. 의사-다일리트 레딩 : 동일한 메모리 공간을 공유하고 교대로 실행하는 프로세스에서 여러 실행 스트림을 만듭니다. 멀티 스레드 라이브러리 : PTHREADS와 같은 멀티 스레드 라이브러리를 사용하여 스레드를 만들고 관리하여 풍부한 스레드 작동 기능을 제공합니다. COROUTINE : 작업을 작은 하위 작업으로 나누고 차례로 실행하는 가벼운 다중 스레드 구현.

Linux는 서버 관리, 임베디드 시스템 및 데스크탑 환경으로 사용되는 것이 가장 좋습니다. 1) 서버 관리에서 Linux는 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하는 데 사용되어 안정성과 안정성을 제공합니다. 2) 임베디드 시스템에서 Linux는 유연성과 안정성으로 인해 스마트 홈 및 자동차 전자 시스템에서 널리 사용됩니다. 3) 데스크탑 환경에서 Linux는 풍부한 응용 프로그램과 효율적인 성능을 제공합니다.

Debianlinux는 안정성과 보안으로 유명하며 서버, 개발 및 데스크탑 환경에서 널리 사용됩니다. 현재 Debian 및 Hadoop과 직접 호환성에 대한 공식 지침이 부족하지만이 기사에서는 Debian 시스템에 Hadoop를 배포하는 방법을 안내합니다. 데비안 시스템 요구 사항 : Hadoop 구성을 시작하기 전에 Debian 시스템이 Hadoop의 최소 작동 요구 사항을 충족하는지 확인하십시오. 여기에는 필요한 JAVA 런타임 환경 (JRE) 및 Hadoop 패키지 설치가 포함됩니다. Hadoop 배포 단계 : 다운로드 및 unzip hadoop : 공식 Apachehadoop 웹 사이트에서 필요한 Hadoop 버전을 다운로드하여 해결하십시오.

GO를 사용하여 Oracle 데이터베이스에 연결할 때 Oracle 클라이언트를 설치해야합니까? GO에서 개발할 때 Oracle 데이터베이스에 연결하는 것이 일반적인 요구 사항입니다 ...

"Debiantrings"는 표준 용어가 아니며 구체적인 의미는 여전히 불분명합니다. 이 기사는 브라우저 호환성에 직접 언급 할 수 없습니다. 그러나 "Debiantrings"가 Debian 시스템에서 실행되는 웹 응용 프로그램을 지칭하는 경우 브라우저 호환성은 응용 프로그램 자체의 기술 아키텍처에 따라 다릅니다. 대부분의 최신 웹 응용 프로그램은 크로스 브라우저 호환성에 전념합니다. 이는 웹 표준에 따라 웹 표준과 잘 호환 가능한 프론트 엔드 기술 (예 : HTML, CSS, JavaScript) 및 백엔드 기술 (PHP, Python, Node.js 등)을 사용하는 데 의존합니다. 응용 프로그램이 여러 브라우저와 호환되도록 개발자는 종종 브라우저 크로스 테스트를 수행하고 응답 성을 사용해야합니다.

Lua-Libuv라는 프로젝트를 개발했으며 내 경험을 공유하게되어 기쁩니다. 이 프로젝트의 원래 의도는 Libuv (C로 작성된 비동기 I/O 라이브러리)를 사용하여 C 언어를 심층적으로 배울 필요없이 간단한 HTTP 서버를 구축하는 방법을 탐색하는 것입니다. Chatgpt의 도움으로 Http.c의 기본 코드를 완료했습니다. 지속적인 연결을 다룰 때 적절한 시간에 연결을 닫고 리소스를 자유롭게하는 것을 성공적으로 구현했습니다. 처음에는 연결을 닫아 기본 프로그램을 종료 한 간단한 서버를 만들려고했지만 문제가있었습니다. 스트리밍을 사용하여 데이터 블록을 전송하려고 시도했지만 작동하는 동안 메인 스레드가 차단됩니다. 결국, 나는 내 목표가 C 언어를 깊이 배우는 것이 아니기 때문에이 접근법을 포기하기로 결정했습니다. 마지막으로, 나는

Root로 MySQL에 로그인 할 수없는 주된 이유는 권한 문제, 구성 파일 오류, 암호 일관성이 없음, 소켓 파일 문제 또는 방화벽 차단입니다. 솔루션에는 다음이 포함됩니다. 구성 파일의 BAND-ADDRESS 매개 변수가 올바르게 구성되어 있는지 확인하십시오. 루트 사용자 권한이 수정 또는 삭제되어 재설정되었는지 확인하십시오. 케이스 및 특수 문자를 포함하여 비밀번호가 정확한지 확인하십시오. 소켓 파일 권한 설정 및 경로를 확인하십시오. 방화벽이 MySQL 서버에 연결되는지 확인하십시오.
