Box World
어제보다 나은 사람이 되기

걱정보단 실행을, 그러나 계획적으로

Box World 자세히보기
반응형

전체 글 74

[머신러닝 순한맛] LSTM의 모든 것

아무리 어려워도 한번 시작한 일은 끝까지 해라 - 안드레아 정 (에어본 회장) - 저번 포스팅에서 우리는 RNN을 이용하여 주어진 Time-Series 데이터를 이용하여 미래를 예측하는 forecasting에 대해 공부해보았습니다. 하지만 이전에 우리가 다뤘던 데이터들의 길이는 상대적으로 짧은 축에 속했습니다. 몇달이 아닌 몇 년 치의 데이터에도 RNN은 좋은 성능을 보일까요? 긴 시퀀스(상대적으로 많은 타임 스텝을 가지는 Time-Series Data)로 훈련하려면 많은 타임 스텝에 걸쳐 실행해야 하므로 RNN은 그만큼 매우 깊은 네트워크가 됩니다. 보통 이렇게 깊어진 RNN은 다음과 같은 문제가 발생할 수 있습니다. 깊어진만큼 Gradient Vanishing 문제나 Exploding 문제가 발생할 ..

[ 머신러닝 순한 맛 ] 시계열 데이터의 모든 것, RNN 정복하기!

사는 데 더 나은 방법을 찾아라 - 엘빈 토플러 - 코로나로 인해 가장 크게 떠오른 분야가 무엇이냐고 한다면, 저는 주식만한게 없다고 생각합니다. 우린 결국 돈을 벌고 싶고, 미래를 예측하여 주식 가격을 예측할 수 있다면 더할 나위가 없겠죠^^ 이미 월가를 비롯해 주식시장의 최전방에 위치해있는 기업들은 실제로 다양한 기술을 이용하여 주식 가격의 미래를 예측하여 이를 실제로 수익과 연결시킵니다. 이번 포스팅에서는 순환 신경망 RNN(Recurrent Neural Network)에 대해 알아보겠습니다. 이 RNN은 우리가 그동안 봐왔던 대부분의 네트워크처럼 고정된 길이의 Input이 아닌 임의의 길이를 가진 시퀀스를 다룰 수 있습니다. 시퀀스의 예로는 문장, 문서, 오디오 샘플 등 가변적인 길이가 가진 것들..

[ 머신러닝 순한맛 ] Regularization in 딥러닝의 모든 것

"나는 네 개의 파라미터가 있으면 코끼리 모양을 학습시킬 수 있고, 다섯 개가 있으면 코를 꿈틀거리게 할 수 있다." - 존 폰 노이만 - Neural Network는 수만 개에서 수백만 개까지 파라미터를 가집니다. 그만큼 크고 복잡한 데이터셋을 학습할 수 있을만큼 네트워크의 자유도가 높다는 것을 의미합니다. 그러나 이러한 자유도가 높을 수록 네트워크는 Training set에 과대적합(Overfitting)되기 쉬워집니다. 이번 포스팅에서는 Neural Network에서 Overfitting을 막기 위해 사용하는 다양한 규제(Regularization) 방법들에 대해 알아보겠습니다. 이번 포스팅은 다음 포스팅을 읽은 후 공부하시면 더욱 효과적입니다. [AI/Coursera ( Machine Learni..

[머신러닝 순한맛] 학습률 스케줄링의 모든 것

"경쟁자의 성공을 탐하지 마라" - 제럴딘 레이본느 (옥시전 미디어 회장 겸 ceo) - 저번 포스팅에서 우리는 가중치 파라미터의 최적화를 속도, 그리고 리소스 효율성의 측면에서 바라보았습니다. 이번 포스팅에서는 최적화의 속도에 관여하는 또 하나의 하이퍼파라미터인 학습률(Learning Rate) 스케줄링을 통해 파라미터 최적화의 성능을 방법에 대해서 알아보겠습니다. 학습률 스케줄링 가중치를 최적화하는데 있어서 '좋은 학습률'을 찾는 것은 중요한데 이유는 다음과 같습니다. 우리가 가장 Loss가 적은 Local minimum까지 걸어간다고 할때, 학습률은 걸음의 보폭이라고 할 수 있습니다. 학습률이 너무 크면 Local minimum을 지나치거나 수렴하기 어렵습니다. 반대로 너무 작아도 Local min..

[ 머신러닝 순한 맛 ] Adam, RMSProp, AdaGrad, 모멘텀 최적화, NAG의 모든 것

시련은 있어도, 실패란 없다 - 정주영 ( 현대 그룹 창업자 ) 지금까지 우리는 모델을 훈련할 때, 표준적인 경사하강법(Gradient Descent Algorithm)만 써왔습니다. 하지만 이러한 훈련과정의 속도를 높이는 방법에 대해 초기화 / activation function / Batch-Normalization / 전이 학습 4가지를 공부했습니다. 이번 포스팅에서 공부할 것은 훈련 속도를 높이기 위해 경사 하강법 대신에 쓸 수 잇는 고속 옵티마이저에 대해서 공부해보겠습니다. 다음 포스팅을 먼저 정독하시고 이번 포스팅을 보시면 더욱 쉽게 이해하실 수 있습니다 :) [AI/Hands-On Machine Learning 2판] - [머신러닝 순한맛] 그레디언트 소실(Vanishing) / 폭주(Exp..

카테고리 없음 2021.06.21

[ 머신러닝 순한 맛] 전이학습은 어떻게 이뤄질까? with Code

큰 야망을 품었을 때 커다란 결실을 얻을 수 있다. - 힐러리 클린턴미국 상원의원 - 이 글을 읽는 여러분의 AI 공부를 어렵게 하는 것은 무엇인가요? 어려운 개념이나 수식도 한몫하겠지만, 저는 높은 연산량을 감당하기 위해, 값비싼 GPU가 필요하다는 것입니다. 이런 맥락에서 대부분의 AI를 초기에 공부하는 우리들이 아주 큰 규모의 DNN을 처음부터 훈련시킨다는 건 매우 어려운 일입니다. 이럴 경우 생각해볼 수 있는 방법이 비슷한 유형의 문제를 처리한 신경망이 있는지 찾아보고 이를 이용하는 전이 학습입니다. 우리는 이를 통해 훈련 속도도 크게 높일 수 있으며 필요한 훈련 데이터도 크게 줄어듭니다. 이번 포스팅에서는 실무에서도 많이 쓰이는 전이학습에 대해 공부해보겠습니다. 사전 훈련된 층 재사용하기 여기 ..

[머신러닝 순한맛] 그레디언트 소실(Vanishing) / 폭주(Exploding)이란?

잘못된 전략이라도 제대로 실행만 하면 반드시 성공할 수 있다. 반대로 뛰어난 전략이라도 제대로 실행하지 못하면 반드시 실패한다. - 선 마이크로시스템즈 CEO, 스콧 맥닐리 - Deep Neural Network, 줄여서 DNN이라고 부르는 심층 신경망은 그 구조에 따라 수백 개에서 수 만개에 이르는 노드들이 엮어있는 구조를 지닙니다. 구조가 복잡한 것만큼 이것을 훈련하는 것 또한 쉽지 않습니다. 예를 들어 신경망의 아래쪽으로 갈 수록 그레디언트가 작아지거나 커지는 그레디언트 소실/폭주(Gradient Vanishing/Exploding) 문제가 발생할 수 있습니다. 훈련을 위한 데이터가 충분하지 않거나 데이터에 레이블을 붙이는데 많은 Cost가 들어갈 수 있습니다. 과대적합(Overfitting)의 위..

[ Flutter ] TextField 내 hinttext 가운데로 정렬하기

TextField 내 'textAlign: TextAlign.center'를 삽입해주면 쉽게 해결된다. Container( width: screenWidth*(300/360), child: TextField( controller: textfieldController_OpenChatLink, textInputAction: TextInputAction.done, // textAlign: TextAlign.center, decoration: InputDecoration( hintText: 'https://open.kakao.com/12345679', hintStyle: TextStyle( fontSize: screenWidth*(16/360), color: hexToColor('#D2D2D2'), fontWe..

개발/Flutter 2021.02.28

[ Flutter ] Google Map 현재 위치로 이동하는 버튼 만들기

이번 포스팅에서는 Flutter에서 Google map을 사용할 때 현재 자신의 위치로 camera position을 이동시키는 버튼을 구현해보겠습니다. 사실 다음과 같이 myLocationButtonEnabled: true로 주셔도 버튼이 생성되는데, 이 경우에 버튼이 오른쪽 상단에 생기는데 위치를 변경하지 못하는 문제점이 발생합니다. GoogleMap( mapType: _googleMapType, initialCameraPosition: _initialCameraPostion, onMapCreated: (GoogleMapController controller) async { // }, myLocationEnabled: true, ########################################..

개발/Flutter 2021.02.26

[ Flutter ] TextField의 prefixIcon 사이즈 내맘대로 조절하기

위와 같은 디자인을 구현하기 위해서는 TextField를 이용하는데, 돋보기를 사이즈에 맞게 넣으려는데 애를 먹었다. 다음과 같이 prefixIcon에 Svg나 Png를 넣어주면 TextField 앞에 아이콘이 자리잡게 된다. Container( height: screenHeight*0.05, width: screenWidth*0.836111, child: TextField( textAlign: TextAlign.left, controller: textfieldControllerSearchLocation, decoration: InputDecoration( hintText: '지역별 검색', hintStyle: TextStyle( fontSize: screenWidth*(12/360), color: he..

개발/Flutter 2021.02.25
반응형