Juhans
article thumbnail
[WAS 기초]3 Tier 구현 실습 (포트 포워딩, NAT Network, etc..)
네트워크 및 클라우드 2022. 11. 2. 20:13

Ubuntu 설치 우분투 설치는 Oracle VM virtualbox를 이용하면 가상머신에 쉽게 설치가 되기 때문에 간단하게 순서만 짚고 넘어간다. 옆의 우분투 공식 홈페이지에 접속하고 22.04 LTS 버전을 먼저 다운받는다. https://ubuntu.com/#download Oracle VM VirtualBox 프로그램을 사용해서 새로운 운영체제를 VM에 올려 생성한다. Virtual box의 환경설정에서 다운받은 ubuntu iso 파일을 적용하면 우분투 설치를 진행할 수 있다. 설치 sudo apt update sudo apt install vim 우분투가 설치되었다면 terminal을 열고 위의 명령어들을 입력한다. 'apt update'는 자주 update를 하여 어떤 패키지나 프로그램을 다..

article thumbnail
[리눅스와 웹서버 기초] 우분투, WAS (Web Application Server)
네트워크 및 클라우드 2022. 11. 1. 23:28

리눅스 리눅스는 unix기반의 운영체제로 높은 안정성, 보안성, 신뢰성 및 성능을 가진다. 시스템의 자원을 사용자가 효율적으로 관리하고 사용할 수 있고 여러 사용자가 동시에 한 시스템에 접근할 수 있고 한 사용자마다 여러 개의 작업을 동시에 사용해 컴퓨터의 자원을 활용할 수 있다. 리눅스에는 정말 다양한 배포판 운영체제가 있다. 이 중에서 나는 가장 보편적으로 사용하는 우분투 운영체제를 기반으로 공부했다. 대부분의 운영체제가 그러하듯이 우분투 운영체제에도 크게 두 가지 버전이 존재한다. 바로 GUI, CLI 버전이다. GUI버전은 Graphical User Interface의 약자로 windows나 mac 운영체제에서 기본적으로 사용하는 방식인데, 사용자가 편리하게 시스템을 이용할 수 있도록 프로그램이나..

article thumbnail
영상처리 푸리에 변환 (Fourier Transform)
ML & DL 2022. 10. 29. 15:28

푸리에 변환 (Fourier Transform) 푸리에 변환은 시간이나 공간에 대한 함수를 시간 또는 공간 주파수 성분으로 분해하는 변환을 말한다. 일반적으로 시간에 의존되는 함수 및 task에서 시간의 제약을 극복하기 위해 사용되는데, 영상처리 분야에서도 푸리에 변환을 통해 영상을 주파수로 변화시키고 그에 따른 전처리 결과를 얻을 수 있다. 자세한 푸리에 변환 원리는 아래를 참고하자. https://ko.wikipedia.org/wiki/%ED%91%B8%EB%A6%AC%EC%97%90_%EB%B3%80%ED%99%98 푸리에 변환 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 사인파의 진폭이 다양한 방식으로 표현되어 있다. (1)은 일반적인 첨두치peak 진폭을, (2)는 최대..

article thumbnail
[시계열 분해] X11, SEATS, STL 분해법
ML & DL/시계열 2022. 10. 23. 15:42

전통적 시계열 분해법 이전 시계열 분해 소개 글에서도 언급했던 전통적 시계열 분해, Seasonal Decomposition은 단순히 계절 성분, 추세-주기 성분, 나머지 성분으로 성분을 나누며, 덧셈, 곱셈 분해 두 가지의 분해법으로 나눌 수 있었다. 전통적 시계열 분해법에서는 계절 성분이 계절 주기마다 항상 일정하다고 가정하고 진행한다. 전통적 시계열 분해법의 문제점 Seasonal Decomposition이기 때문에 초기와 마지막 일부 데이터에 대해서 추세 추정값을 알 수 없다. 실제 Statsmodels 라이브러리에서 seasonal_decompose라는 함수를 사용할 때 계산에만 사용되는 앞과 뒤 일부 데이터에 대해서는 추세 추정값을 얻을 수 없다. (다만, 옵션에 two-sided로 설정 가능..

article thumbnail
[시계열 분해 (Time Series Decomposition)]
ML & DL/시계열 2022. 10. 22. 12:27

시계열 분해 시계열 데이터는 여러가지 성분으로 나눠서 생각해볼 수 있다. 대표적으로 시계열 데이터에는 계절성분 S, 추세-주기 성분 T, 그 외의 나머지 성분 R이 있다. 그러므로 시계열 데이터를 분해한다면 S, T, R의 조합으로 분해할 수 있게 된다. 분해 방법 시계열 데이터는 S, T, R로 분해될 때 두 가지 방법으로 분해될 수 있다. 바로 덧셈 분해(Additive Decomposition)과 곱셈 분해(Multiplicative Decomposition)이다. 덧셈 분해(Additive Decomposition) 덧셈 분해는 위 수식과 같이 덧셈으로 시계열 데이터를 설명한 것이다. 덧셈 분해는 계절성 요동의 크기(S의 요동)나 추세-주기 주위의 변동(T의 변동)이 시계열 수준에서 변하지 않을 ..

article thumbnail
[머신러닝 모델 최적화] 베이지안 최적화(Bayesian Optimization)
ML & DL/ML 2022. 10. 20. 00:13

Bayesian Optimization(베이지안 최적화) 최적화는 머신러닝 모델에서 주어진 데이터에 대해 가장 잘 맞는 parameter를 찾는 과정이다. Bayesian Optimization은 가장 데이터를 잘 맞추는 모델을 상정하고 그 모델과 그 모델에 입력으로 들어가는 Hyper Parameter를 쌍으로 묶어 대체 모델(Surrogate Model)을 생성해 순차적으로 대체 모델들을 평가하면서 최적의 Hyper Parameter를 찾는다. 베이지안 최적화는 관찰한 예측값을 중심으로 gaussian process를 사용해서 목적 함수의 위치를 추측하고 새로운 예측값을 뽑아내고 다시 추측하는 반복된 과정을 수행한다. 파란색 선인 Objective Function은 목적함수로 우리가 찾아야할 데이터에..

article thumbnail
BERT와 KoBERT(Word-Piece Embedding, 코드리뷰)
ML & DL/NLP 2022. 10. 19. 17:15

BERT : Pre-training of Deep Bidirectional Trnasformers for Language Understanding BERT 모델은 Transformer의 Encoder 모델을 겹겹이 쌓아 만든 모델이다. BERT의 경우 Encoder가 매우 많기 때문에 복잡한 모델에 속한다. 때문에 일반적인 기업이나 개인이 학습하기 어렵다. 이런 이유들로 인해 BERT는 대형 기업들이 학습을 해놓은 모델을 가져다가 fine-tuning 방법으로 사용하는 것이 맞다. 위와 같이 기존에 pre-trained 된 BERT 모델을 fine-tuning하여 다양한 task에 적용시키는 것을 추천한다고 논문에서는 언급하고 있다. BERT는 다른 자연어처리 모델들이 적용하는 word embedding..

article thumbnail
NLP(자연어 처리) 입문 8 - Transformer
ML & DL/NLP 2022. 10. 8. 23:48

Transformer Transformer는 RNN의 단점을 개선한 Attention 기법을 활용하여 인코더와 디코더 구조를 갖추고 있으며 Attention 기법의 장점 때문에 sequence를 순차적으로 계산할 필요가 없어 계산속도가 비교적 빠르다. Transformer는 이 후 제안되는 현재 state-of-the-art 기법들인 GPT나 BERT에 큰 영향을 주었다. Transformer는 앞서 언급했듯이 인코더와 디코더로 이루어져 있는데 구조는 아래와 같다. Transformer의 Encoder Transformer의 인코더는 multi-head Attention 기법과 feed forward층으로 이루어져 있으며 residual 층도 가진다. Positional Encoding Transform..

article thumbnail
NLP(자연어 처리) 입문 7 - Seq2Seq, Attention
ML & DL/NLP 2022. 10. 8. 13:58

Seq2Seq (시퀀스 투 시퀀스) seq2seq 기법은 transformer가 2017년에 제안되기 전까지 딥러닝 기계번역에서 state-of-the-art였던 기법이다. 이전까지의 기계번역 기법들보다 훨씬 큰 성능을 나타냈으며 Context Vector라는 새로운 개념의 도입으로 이 후 제안된 유명 기법 논문들에도 영향을 많이 끼치게 된다. seq2seq는 RNN 또는 LSTM을 사용하여 구현할 수 있다. 여기서는 LSTM 기반의 seq2seq라고 가정하자. seq2seq의 구조는 위 그림과 같다. 인코더에서 LSTM 한 개, 디코더에서 LSTM 한 개를 사용해 기계번역과 같은 task를 처리한다. 이 때 인코더에서는 순차적으로 sequence를 받아 내부적으로 hidden state를 누적하여 최종..

article thumbnail
NLP(자연어 처리) 입문 6 - RNN, LSTM
ML & DL/NLP 2022. 10. 7. 01:46

RNN RNN은 Recurrent Neural Network의 약자로 순환 신경망이라고 부르는 sequence model이다. sequence형태의 input을 받아 sequence 형태의 output을 내뱉는다. 위의 그림은 RNN의 구조이다. 왼쪽 그림은 RNN의 진짜 구조이고 오른쪽은 시간에 따라 unfold한 모습이다. RNN은 위 그림과 같이 task에 따라 one-to-many, many-to-one, many-to-many 방식으로 결과값을 조절할 수 있다. RNN의 작동방식 RNN은 입력으로 들어오는 x와 직전 시점(t-1)의 h(hidden state)의 가중치 합에 의해서 현재 시점의 hidden state를 도출하고 이를 다시 선형, 비선형 계산을 통해 결과값을 도출해낼 수 있다. t..