Interview
-
익명 함수를 람다 함수라고 합니다. 람다 함수는 def 키워드를 통해 함수를 생성하는 리터럴 표기법을 간결하게 표현할 수 있습니다. 람다 함수는 return 키워드 없이 자동으로 return 해줍니다. 다른 함수의 인수로 넘겨줄 함수를 생성하여 사용 할 때 재사용 하지 않고 한번만 사용할 경우 람다 함수를 사용하면 메모리를 절약할 수 있습니다. https://clolee.tistory.com/22 https://wikidocs.net/22804
람다 함수란 무엇인가요?익명 함수를 람다 함수라고 합니다. 람다 함수는 def 키워드를 통해 함수를 생성하는 리터럴 표기법을 간결하게 표현할 수 있습니다. 람다 함수는 return 키워드 없이 자동으로 return 해줍니다. 다른 함수의 인수로 넘겨줄 함수를 생성하여 사용 할 때 재사용 하지 않고 한번만 사용할 경우 람다 함수를 사용하면 메모리를 절약할 수 있습니다. https://clolee.tistory.com/22 https://wikidocs.net/22804
2022.12.12 -
Fully Connected Layer는 한 layer의 모든 뉴런들이 다음 layer의 모든 뉴런들과 연결괴어 있는 layer를 말하는데 해당 Layer는 이전 레이어의 출력을 원하는 출력 형태로 만들어주기 위해 사용합니다. + 추가 MLP-Mixer라는 논문은 vision task에서 기존의 CNN, attention mechanism 대신 MLP만사용하여 매우 단순한 계산만 가지고 SOTA를 달성한 네트워크들과 경쟁할 수 있는 네트워크를 제안하는 논문이다. 해당 논문에서는 FC layer는 위에서 설명한대로 원하는 출력형태로 만드는 classification 역할로도 사용할 수 있지만 BERT output의 출력단을 한번 더 섞어서 학습하게 해주는 역할을 한다고 볼 수 있다고 한다. 즉, Semen..
Fully Connected Layer의 기능에 대해 설명해주세요Fully Connected Layer는 한 layer의 모든 뉴런들이 다음 layer의 모든 뉴런들과 연결괴어 있는 layer를 말하는데 해당 Layer는 이전 레이어의 출력을 원하는 출력 형태로 만들어주기 위해 사용합니다. + 추가 MLP-Mixer라는 논문은 vision task에서 기존의 CNN, attention mechanism 대신 MLP만사용하여 매우 단순한 계산만 가지고 SOTA를 달성한 네트워크들과 경쟁할 수 있는 네트워크를 제안하는 논문이다. 해당 논문에서는 FC layer는 위에서 설명한대로 원하는 출력형태로 만드는 classification 역할로도 사용할 수 있지만 BERT output의 출력단을 한번 더 섞어서 학습하게 해주는 역할을 한다고 볼 수 있다고 한다. 즉, Semen..
2022.12.07 -
파이썬의 Generator는 시퀀스의 요소를 하나씩 차례대로 순회하면서 값을 생성하는 객체인 Iterator를 생성해주는 함수입니다. Generator는 yield를 키워드를 사용해 생성할 수 있습니다. Generator는 next 함수로 호출할 때마다 값을 생성하고 해당 값을 메모리에 올리기 때문에 대용량 데이터를 처리할 때 메모리를 효율적으로 사용할 수 있습니다. def generator(value): for i in range(value): yield i gen = generator(2) print(next(gen)) # 0 print(next(gen)) # 1 print(next(gen)) # StopIteration 에러 발생
파이썬의 Generator에 대해 설명해주세요파이썬의 Generator는 시퀀스의 요소를 하나씩 차례대로 순회하면서 값을 생성하는 객체인 Iterator를 생성해주는 함수입니다. Generator는 yield를 키워드를 사용해 생성할 수 있습니다. Generator는 next 함수로 호출할 때마다 값을 생성하고 해당 값을 메모리에 올리기 때문에 대용량 데이터를 처리할 때 메모리를 효율적으로 사용할 수 있습니다. def generator(value): for i in range(value): yield i gen = generator(2) print(next(gen)) # 0 print(next(gen)) # 1 print(next(gen)) # StopIteration 에러 발생
2022.12.07 -
딥러닝의 큰 장점은 매우 큰 차원수를 가진 데이터(고화질 이미지, 자연어 등)를 효과적으로 쉽게 처리할 수 있다는 점입니다. 그러나 이러한 장점을 나타내기 위해서는 가장 큰 단점으로, 연산량이 매우 크다는 것과 대량의 트레이닝 데이터가 필요하다는 점을 들 수 있습니다. 그래서 등장한 것이 소수의 예제(Few)만 있어도 성능이 우수한 모델링이 가능하도록 학습하는 방법인 Few-shot Learning이며 이를 위해 제안된 알고리즘으로는 Transfer Learning과 Meta-Learning이 있습니다. Transfer Learning(전이학습)은 큰 데이터로 학습한 가중치의 일부를 새로운 데이터에 맞춰서 학습하는 방법입니다.하지만 여전히 전이 학습도 새로운 문제에 적용하기 위해서 많은 수의 데이터와 레..
뉴럴넷의 가장 큰 단점은 무엇인가? 이를 위해 나온 Few-Shot Learning은 무엇인가?딥러닝의 큰 장점은 매우 큰 차원수를 가진 데이터(고화질 이미지, 자연어 등)를 효과적으로 쉽게 처리할 수 있다는 점입니다. 그러나 이러한 장점을 나타내기 위해서는 가장 큰 단점으로, 연산량이 매우 크다는 것과 대량의 트레이닝 데이터가 필요하다는 점을 들 수 있습니다. 그래서 등장한 것이 소수의 예제(Few)만 있어도 성능이 우수한 모델링이 가능하도록 학습하는 방법인 Few-shot Learning이며 이를 위해 제안된 알고리즘으로는 Transfer Learning과 Meta-Learning이 있습니다. Transfer Learning(전이학습)은 큰 데이터로 학습한 가중치의 일부를 새로운 데이터에 맞춰서 학습하는 방법입니다.하지만 여전히 전이 학습도 새로운 문제에 적용하기 위해서 많은 수의 데이터와 레..
2022.12.05 -
배치 사이즈는 학습 시 정해야하는 하이퍼 파라미터로 이것에 따라 학습 양상과 결과가 달라질 수 있습니다. Batch size를 작게 하는 경우 sample의 수가 적어 training set의 분포에 근사하게 추정되지 않기 때문에 noise가 많아져 generalization 효과를 줄 수 있다는 장점이 있습니다. 또한 최소 요구 메모리 양이 줄어듭니다. 그러나 배치 사이즈가 작을 수록 학습에 걸리는 시간은 늘어나게 된다는 단점이 있습니다.
미니배치를 작게 할때의 장단점은?배치 사이즈는 학습 시 정해야하는 하이퍼 파라미터로 이것에 따라 학습 양상과 결과가 달라질 수 있습니다. Batch size를 작게 하는 경우 sample의 수가 적어 training set의 분포에 근사하게 추정되지 않기 때문에 noise가 많아져 generalization 효과를 줄 수 있다는 장점이 있습니다. 또한 최소 요구 메모리 양이 줄어듭니다. 그러나 배치 사이즈가 작을 수록 학습에 걸리는 시간은 늘어나게 된다는 단점이 있습니다.
2022.12.05 -
SGD는 Stochastic Gradient Descent의 약자로 Loss Function의 값을 계산할 때 전체 train set을 사용하는 Batch Gradient Descent와 달리 데이터 한 개 또는 일부 데이터의 모음(mini-batch)에 대해서 loss function을 계산하는 방법입니다. 데이터 한 개를 사용하는 경우를 Stochastic Gradient Descent(SGD), 데이터의 일부(mini-batch)를 사용하는 경우를 mini-batch Stochastic Gradient Descent(mini-batch SGD)라고 하지만 오늘날의 딥러닝에서 일반적으로 통용되는 SGD는 mini-batch SGD입니다. SGD는 한 번의 업데이트마다 Batch Gradient Des..
SGD, Momentum, RMSprop, Adam에 대해서 아는 대로 설명한다면?SGD는 Stochastic Gradient Descent의 약자로 Loss Function의 값을 계산할 때 전체 train set을 사용하는 Batch Gradient Descent와 달리 데이터 한 개 또는 일부 데이터의 모음(mini-batch)에 대해서 loss function을 계산하는 방법입니다. 데이터 한 개를 사용하는 경우를 Stochastic Gradient Descent(SGD), 데이터의 일부(mini-batch)를 사용하는 경우를 mini-batch Stochastic Gradient Descent(mini-batch SGD)라고 하지만 오늘날의 딥러닝에서 일반적으로 통용되는 SGD는 mini-batch SGD입니다. SGD는 한 번의 업데이트마다 Batch Gradient Des..
2022.12.05 -
Gradient Descent란 무엇이며, 왜 꼭 Gradient를 써야 할까? 머신러닝에서는 loss function의 값이 최소가 될 때의 파라미터(Weight, Bias)를 찾는 것이 목표이다. loss function이 일반적인 2차 함수거나 복잡하지 않은 함수라면 단순히 극소점을 찾아서 최적의 파라미터를 찾을 수 있다. 그러나 현실적으로는 loss function이 복잡하기 때문에 Gradient를 이용해 loss function이 최솟값을 찾는다. Gradient는 '이렇게 변하면 y값이 가장 크게 변할 것'이라는 방향성을 나타내기 때문에 (-)값을 곱해주어 더해주면 감소하는 방향을 구하며 이 방법을 Gradient Descent라고 한다. 그래프에서 가로축과 세로축 각각은 무엇인가? 실제 상..
Gradient Descent란 무엇이며, 왜 꼭 Gradient를 써야 할까? / 그래프에서 가로축과 세로축 각각은 무엇인가? 실제 상황에서는 그 그래프가 어떻게 그려질까?Gradient Descent란 무엇이며, 왜 꼭 Gradient를 써야 할까? 머신러닝에서는 loss function의 값이 최소가 될 때의 파라미터(Weight, Bias)를 찾는 것이 목표이다. loss function이 일반적인 2차 함수거나 복잡하지 않은 함수라면 단순히 극소점을 찾아서 최적의 파라미터를 찾을 수 있다. 그러나 현실적으로는 loss function이 복잡하기 때문에 Gradient를 이용해 loss function이 최솟값을 찾는다. Gradient는 '이렇게 변하면 y값이 가장 크게 변할 것'이라는 방향성을 나타내기 때문에 (-)값을 곱해주어 더해주면 감소하는 방향을 구하며 이 방법을 Gradient Descent라고 한다. 그래프에서 가로축과 세로축 각각은 무엇인가? 실제 상..
2022.11.28 -
+ Weight Initialization을 왜 사용하나요? 만약 초기 Weight 값이 0이라면 학습이 불가능할 것이며, 처음부터 Weight 값이 최적의 값들이라면 gradient 값이 작더라도 좋은 모델을 만들 수 있을 것입니다. 만약 Weight 값들을 평균 0, 표준편차 1인 표준 정규분포로 초기화 한 경우 Sigmoid 함수의 출력값이 0과 1에 치우치게 됩니다. 출력값이 0과 1에 치우치게 되면 Gradient는 0에 가까운 값을 갖게 되므로 Gradient Vanishing 문제가 일어날 수 있습니다. 따라서 Weight를 잘 설정하여 출력값의 분포를 안정화시켜주는 것이 중요합니다. Weight Initalization 방법으로는 Xavier Initalization과 He Initaliz..
Weight Initialization 방법에 대해 말해주세요. 그리고 무엇을 많이 사용하나요?+ Weight Initialization을 왜 사용하나요? 만약 초기 Weight 값이 0이라면 학습이 불가능할 것이며, 처음부터 Weight 값이 최적의 값들이라면 gradient 값이 작더라도 좋은 모델을 만들 수 있을 것입니다. 만약 Weight 값들을 평균 0, 표준편차 1인 표준 정규분포로 초기화 한 경우 Sigmoid 함수의 출력값이 0과 1에 치우치게 됩니다. 출력값이 0과 1에 치우치게 되면 Gradient는 0에 가까운 값을 갖게 되므로 Gradient Vanishing 문제가 일어날 수 있습니다. 따라서 Weight를 잘 설정하여 출력값의 분포를 안정화시켜주는 것이 중요합니다. Weight Initalization 방법으로는 Xavier Initalization과 He Initaliz..
2022.11.28