분류 전체보기 232

Python - 모듈 / 패키지 / import

05-2 모듈 모듈 (module) 모듈이랑 함수나 변수 또는 클래스의 정의를 담고 있는 단일 파일이다. 모듈은 코드의 재사용과 구조화를 돕는데 사용된다. 모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일이라고도 할 수 있다. add,sub 함수가 있는 mod1.py를 만들고, C:\doit 디렉토리에 저장하면, mod1.py파일이 바로 모듈이다. (파이썬 확장자 .py로 만든 파이썬 파일은 모두 모듈이다.) 모듈 생성 및 사용 - 모듈 생성 : 파이썬 스크립트 파일을 만들고, 그 파일 내에서 변수,함수,클래스 등을 정의한다. 이 파일의 확장자는 '.py'여야한다. 예를 들어 "my_module.py"라는 파일을 만들고 그 안에 함수를 정의할 수 있다. - 모듈 사용 : 다른 파..

Python - 클래스 / 메서드 /생성자 / 상속 / 클래스 변수

05-1 클래스 클래스 선언 =를 사용하여 cal1,cal2라는 Calculator 객체를 만든다. class 객체를 만들면 동일한 동작에 대해서 여러개의 함수를 만들어 return값을 따로 저장하지 않아도 하나의 class 만으로 각각 연산해낼 수 있다. 다른 예시를 살펴보자. 만약 Cookie라는 class가 이전에 정의되었을 때 위와 같이 Cookie()의 결과값을 돌려받도록 a,b라는 객체를 만들어줄 수 있다. 마치 함수를 사용해서 그 결과값을 돌려받는 모습과 비슷하다. class로 만든 객체를 인스턴스라고도 하나 a자체는 객체라 표현하고, Cookie의 인스턴스로서 a를 설명할 때에만 인스턴스라는 단어로 표현하는 것이 자연스럽다. 객체에 숫자 지정 (사칙연산 예시) a객체에 대해서 사칙연산을 하..

Display - Display classification

Display Classification Direct view / Projection / Virtual Image - Direct View(직접적인 시각) : 물체 또는 장면을 바로 눈으로 보는 것을 의미한다. 즉, 물체에서 발생한 빛이 광학적 장치나 중간 매체 없이 눈에 직접 도달하는 것을 말한다. - Projection (투사) : 빛을 사용하여 이미지를 표시하거나 전달하는 기술을 의미한다. 일반적으로 프로젝트를 사용하여 벽이나 하얀 표면에 이미지를 투사하는 것이 흔한 예이다. 프로젝터는 빛을 렌즈나 미러를 통해 특정 방향으로 집중시켜 이미지를 만들어낸다. - Virtual Image (가상 이미지) : 실제 물체와 빛의 굴절 및 반사를 통해 형성된 것처럼 보이지만 실제로는 없는 이미지이다. 가상 이..

ML - CNN architectures(1) / AlexNet / ZFNet / VGGNet

CNN Architecture CNN Architecture LeNet-5 AlexNet AlexNet 앞,,,공식들로,,,한번,,,따라가보세유,,,,ㅎㅎㅎㅎㅎ 난귀차나~ 가장 윗줄부터 해석을 해보자면 227*227*3 차원인 input이 있었는데 이를 96개의 11*11 filter로 stride4,pad0으로 통과시켰을 때 55*55*96의 결과가 나온다. 위에서 보면 convolution과 pooling이 일정한 패턴 없이 뒤죽박죽이다. due date에 맞춰 hyperparameter의 하나인 filter size를 임의로 계속 조정하다보니 filter의 경향성이 규칙성 없이 중구난방해진 것이다! 마지막에서 넷째줄을 보면 6*6*256까지 만들어진 결과를 flatten시킨다. flatten 시킨 ..

카테고리 없음 2023.09.21

ML - CNN(2) / Pooling layer / max pooling

Pooling layer Pooling layer : Pooling layer는 입력 데이터의 공간적 차원을 줄이는 역할을 한다. 일반적으로 max pooling과 average pooling이 가장 많이 사용된다. pooling은 차원을 축소시키는 것이라 하였다. 위 예시를 보면 224*224 였던 차원이 풀링으로 인하여 112*112로 1/4배 줄어들었다. [pooling 특] - padding을 사용하지 않는다. - filter size와 stride size가 동일하다. Max Pooling pooling도 일종의 layer이기 때문에 filter의 개념이 있는데, pooling에서는 filter size와 stride size가 동일하다. 즉, overlapping 없이 연산이 진행된다. 겹쳐서..

ML - CNN / image 구성 / channel / filter / feature map / zero-padding

Introduction to CNN (Convolutional Neural Networks) Neural Networks : without the brain stuff CNN은 이미지 처리에 특화된 Neural Network이다. CNN을 다루기 전에 이전에 다뤘던 Neural Networks에 대해 복기해보는 시간을 가진다. NN의 가장 간단한 형태로 linear score function을 다룬 적 있다.윗 수식은 one layer, 두번째 수식은 two layer까지를 표현한다. 여기서 W(weight)를 어떻게 설정하냐에 따라 차원을 변경시킬 수 있다. weight를 거치며 3072차원 벡터가 100차원으로 바뀌고 weight2 matrx를 곱하고는 10차원이 되었음을 확인할 수 있다. 마지막 s..

ML - Transformer / Self-Attention / attention-weights / context vector / Residual connection

Transformer RNN Summary - Architecture design 관점에서 flexibility가 높다. - Vanilla RNNs가 가장 기본이나, 잘 동작하지 않는다. - RNN의 변형된 형태인 LSTM이나, GRU를 더 많이 쓴다. //gradient flow가 개선 (**GRU : LSTM의 성능을 유지하면서도 좀 더 simple하게 만들어진 아키텍처) - RNN의 단점은 gradient가 폭발하거나 소실된다는 것이다. exploding의 경우에는 gradient clipping이라는 기법으로 threshold를 넘지 못하게 하고, vanishing의 경우에는 truncated기법으로 input을 capacity 크기에 맞추어 잘라서 쓴다. Transformer : Self-Att..

ML - Generative Model(2) / GAN(adversarial networks) / generator / discriminator

Generative Adversarial Networks GAN : generative model중에 크게 VAE와 GAN이 있는데 GAN이 압도적으로 더 많다. GAN 중 일부는 VAE의 좋은 특성을 갖고 있는 것들도 있다. GAN이란, generator(생성자)와 discriminator(판별자) 네트워크 간의 경쟁적인 학습을 기반으로 하며, 실제 데이터와 비슷한 가짜 데이터를 생성하는 모델이다. generator는 random latent vector(잠재 벡터) 에서 데이터를 생성하려 계속해서 업그레이드 되고, discriminator는 생성된 데이터와 실제 데이터를 구별하기 위해 계속해서 업그레이드 됨으로써 이 둘이 경쟁 구도를 가지며 생성자가 점차적으로 실제와 더욱 유사한 데이터를 생성하도록 ..

ML - Generative Modeling(1) / autoencoder / VAE(variational autoencoder)

Generative Modeling - Generative Model - Basic Autoencoders - Variational Autoencoders (VAE) - Generative Adversarial Networks (GAN) - Fancier Generative Models Generative Modeling Generative Modeling이란, training data를 학습하여 유사한 데이터를 생성하는 모델이다. training data 들의 샘플마다 픽셀들의 분포를 분석하여 오른쪽 그림처럼 training data와 유사하게 새로운 데이터를 만들어내는 것이다. 결국, generative modeling에서 가장 중요한 것은 training data의 분포를 학습하는 것이다. tran..

ML - RNN(4) / LSTM / cell / forget gate / input gate / output gate

Long Short-Term Memory(LSTM) RNN vs LSTM : RNN은 결국 input이 internal state로 들어가고, self 루프가 있으며 아래 식으로서 stae가 계산된다. [Symbol 소개] 1) Neural Network Layer : neural network layer 중 하나로서 activation function이 드 ㄹ어 2) pointwise operation : 데이터 요소에 대해 요소별로 연산 3) vector transfer : 벡터가 이동한다. 4) Concatenate : 벡터가 하나로 합쳐진다. 5) Copy : 벡터가 두개로 나눠진다. [ RNN vs LSTM 비교 ] RNN : 다음 time step으로 넘어가는 internal state가 하나..