티스토리 뷰

반응형

3 Motivation and High Level Considerations

The most straightforward way of improving the performance of deep neural networks is by increasing their size.

deep neural network들의 성능을 가장 확실하게 개선시키는 방법은 사이즈를 키우는 것이다.

 

This includes both increasing the depth – the number of levels – of the network and its width: the number of units at each level.

이는 깊이를 늘리는 것(레이어를 많이 쌓는 것)과, 넓이를 넓히는 것(한 레벨에 많은 유닛들을 넣는 것) 둘다 포함된다.

 

This is as an easy and safe way of training higher quality models, especially given the availability of a large amount of labeled training data.

더 높은 퀄리티의 모델을 학습시키는데에 이것은 쉽고 안전한 방법이다. 특히나, labeled 트레이닝 데이터가 많은 경우에는 더욱 그렇다.

 

However this simple solution comes with two major drawbacks.

하지만, 이 심플한 방법에는 두가지의 부작용이 있다.

 

Bigger size typically means a larger number of parameters, which makes the enlarged network more prone to overfitting, especially if the number of labeled examples in the training set is limited.

더 큰 사이즈는 보통 더 많은 수의 parameter들을 이야기하고, 이는 네트워크가 overfitting되기 쉽게 만드는 요소가 된다. 특히나, training의 labeled example이 많지 않을때는 더더욱 그렇다.

 

This can become a major bottleneck, since the creation of high quality training sets can be tricky and expensive, especially if expert human raters are necessary to distinguish between fine-grained visual categories like those in ImageNet (even in the 1000-class ILSVRC subset) as demonstrated by Figure 1.

높은 퀄리티의 training data sets를 만드는 것은 어렵고 비용적으로도 비싸기 때문에, 이게 주요 병목현상이 될수 있다. 특히나 ImageNet(figure 1 참조)의 세밀한 시각적 범주를 구별하기 위해 전문가가 필요한 경우 더욱 그렇다. 

 

 

Another drawback of uniformly increased network size is the dramatically increased use of computational resources. For example, in a deep vision network, if two convolutional layers are chained, any uniform increase in the number of their filters results in a quadratic increase of computation.

네트워크를 균일하게 크게 늘리는데에서 오는 또다른 부작용은 계산 자원의 대폭적인 증가량이다. 예를 들어서, deep vision network에서, 만약 두개의 convolutional 레이어들이 연결되어 있다면, 어떠한 필터의 증가량이라도 계산자원 측면에서는 이차적인 증가의 결과를 가져올 것이다. (제곱적으로 증가)

 

If the added capacity is used inefficiently (for example, if most weights end up to be close to zero), then a lot of computation is wasted.

만약 추가된 용량이 효율적이지 못하게 사용된다면, 예를 들어, 모든 weight값들이 0에 수렴해버린다던지, 많은양의 계산 자원은 낭비될 것이다.

 

Since in practice the computational budget is always finite, an efficient distribution of computing resources is preferred to an indiscriminate increase of size, even when the main objective is to increase the quality of results.

실제적으로 우리가 쓸수있는 계산자원은 항상 제한되어 있기때문에, 결과 품질을 향상시키는 것이 주된 목표일지라도, 크기를 무작위로 증가시키는 것 보다, 효율적인 계산 자원의 배분을 선호하게 된다.

 

The fundamental way of solving both issues would be by ultimately moving from fully connected to sparsely connected architectures, even inside the convolutions.

이 두가지의 문제를 동시에 만족시키기 위한 근본적인 해결법은, convolution 내부를 포함한 전체 모델에서 fully connected에서 sparsely connected 구조로 바꾸는 것이다.

 

Besides mimicking biological systems, this would also have the advantage of firmer theoretical underpinnings due to the groundbreaking work of Arora et al. [2].

생물학적 시스템을 모방하는 것 외에도, 이런 접근은 Arora et al의 연구 결과로부터 더 견고한 이론적 기반을 갖추는 장점을 가지게 된다.

 

Their main result states that if the probability distribution of the data-set is representable by a large, very sparse deep neural network, then the optimal network topology can be constructed layer by layer by analyzing the correlation statistics of the activations of the last layer and clustering neurons with highly correlated outputs.

그들의 메인 결과물은, 만약 확률 분포가 큰 데이터 셋이 크고, sparse한 deep neural network를 통해서 표현 가능하다면, "최적의 network 연결방식은, 마지막 레이어의 활성화 상태의 statisticoutput과 상관성이 높은 neuron 들의 클러스터사이의 관계를 분석함으로, 레이어마다 만들어질 수 있다"라고 이야기한다.

 

-> 데이터셋의 확률 분포가 크다 = 다양한 패턴과 다양성을 가진 데이터셋

-> sparse한 deep neural network  = not fully connected

 

Although the strict mathematical proof requires very strong conditions, the fact that this statement resonates with the well known Hebbian principle – neurons that fire together, wire together – suggests that the underlying idea is applicable even under less strict conditions, in practice.

엄격한 수학적 증명은 매우 강력한 조건을 요구하지만, "같이 발화하는 neuron들은 서로 연결된다" 라고 잘 알려진 hebbian principle과 공진한다는 사실은, 해당 주장이 엄격한 조건보다는 실제 상황에서도 적용 가능한 기본 아이디어임을 시사한다.

 

= 엄격한 수학적 증명을 위해서는 특정한 강력한 조건이 필요하지만, 실제적인 상황에서는 헤비안 원칙과 같은 원리를 기반으로 한 아이디어가 엄격한 조건보다는 더 유연하게 적용될 수 있다는 것을 의미합니다. 이는 뉴런 간의 상호작용과 연결성을 고려하여 신경망 구조를 설계하거나 학습하는 데 도움을 줄 수 있습니다.

 

On the downside, todays computing infrastructures are very inefficient when it comes to numerical calculation on non-uniform sparse data structures.

하지만, 현재의 컴퓨팅 인프라는 비균일한 sparse 데이터 구조에 대한 계산에서 매우 비효율 적이다.

 

Even if the number of arithmetic operations is reduced by 100×, the overhead of lookups and cache misses is so dominant that switching to sparse matrices would not pay off.

산술 연산을 100배로 줄여도, overhead of lookups and cache misses가 너무나 압도적이여서 sparse metrices로 전환하는 것은 비용대비 효과가 없을 것이다.

 

The gap is widened even further by the use of steadily improving, highly tuned, numerical libraries that allow for extremely fast dense matrix multiplication, exploiting the minute details of the underlying CPU or GPU hardware [16, 9].

이 갭은 지속적으로 개선되고 매우 최적화된 수치 라이브러리의 사용으로 더욱 넓혀지는데, 이러한 수치 라이브러리는 밀도 높은 행렬 곱셈을 매우 빠르게 수행할 수 있도록 하며, 아래에 깔려있는 CPU 혹은 GPU의 미세한 세부 사항을 활용한다.

 

= CPU나 GPU 하드웨어의 세부 사항을 이용하여 매우 빠른 밀집 행렬 곱셈을 가능하게 하는 점점 발전하는 최적화된 수치 라이브러리의 사용으로 인해 격차가 더욱 벌어진다

 

Also, non-uniform sparse models require more sophisticated engineering and computing infrastructure. Most current vision oriented machine learning systems utilize sparsity in the spatial domain just by the virtue of employing convolutions.

비균일 희소 모델은 일부 가중치가 0이 되는 희소성을 가지는 모델을 의미합니다. 이러한 모델은 컴퓨팅 리소스를 절약하고, 모델의 크기를 줄일 수 있어서 효율적입니다. 하지만 비균일 희소 모델은 다루기가 조금 더 복잡하며, 고급 컴퓨팅 인프라가 필요합니다

 

= 비균일 희소 모델은 조금 더 복잡한 설계와 컴퓨팅 인프라를 필요로 하지만, 합성곱(convolution)을 사용하는 시스템에서 이미 효율적으로 활용되고 있습니다

 

However, convolutions are implemented as collections of dense connections to the patches in the earlier layer. ConvNets have traditionally used random and sparse connection tables in the feature dimensions since [11] in order to break the symmetry and improve learning, the trend changed back to full connections with [9] in order to better optimize parallel computing.

합성곱 신경망(ConvNet)에서는 합성곱 연산을 통해 이전 레이어의 패치에 대한 밀집 연결을 수행합니다. 예전에는 특징 차원에서 희소 연결을 사용하여 대칭성을 깨고 학습을 개선했지만, 최근에는 병렬 컴퓨팅을 위해 다시 fully connected로 돌아가는 경향이 있습니다. 이는 효율적인 병렬 계산을 위해 연결을 최적화하고 성능을 향상시킬 수 있게 합니다.

 

The uniformity of the structure and a large number of filters and greater batch size allow for utilizing efficient dense computation.

구조의 균일성과 많은 필터 수와 큰 배치 크기는 효율적인 밀집 연산을 활용할 수 있게 합니다.

 

This raises the question whether there is any hope for a next, intermediate step: an architecture that makes use of the extra sparsity, even at filter level, as suggested by the theory, but exploits our current hardware by utilizing computations on dense matrices.

이로 인해 다음과 같은 중간 단계에 대한 가능성이 제기됩니다. 즉, 이론에서 제안된 대로 필터 수준에서 추가적인 희소성을 활용하지만, 현재의 하드웨어를 활용하여 밀집 행렬에서 계산을 수행하는 아키텍처가 있는지에 대한 의문이 제기됩니다.

 

따라서, 다음 단계로 넘어가면서 현재의 하드웨어를 최대한 활용하면서 필터 수준에서의 추가적인 희소성을 활용하는 아키텍처를 구현할 수 있는지에 대한 가능성을 고민해야 합니다.

 

The vast literature on sparse matrix computations (e.g. [3]) suggests that clustering sparse matrices into relatively dense submatrices tends to give state of the art practical performance for sparse matrix multiplication.

희소 행렬 계산에 관한 다양한 문헌 (예: [3])은 희소 행렬을 비교적 밀집한 하위 행렬로 클러스터링하면 희소 행렬 곱셈에 대한 최신의 실용적인 성능을 제공한다는 것을 시사합니다.

 

-> sparse matrices를 dense submatrices로 바꿔서 성능개선을 시킴?!

 

It does not seem far-fetched to think that similar methods would be utilized for the automated construction of non-uniform deep-learning architectures in the near future.

비슷한 방법이 가까운 미래에 비균일한 딥러닝 아키텍처의 자동 구축에 활용될 가능성이 있는 것은 그리 멀지 않은 생각입니다.

 

The Inception architecture started out as a case study of the first author for assessing the hypothetical output of a sophisticated network topology construction algorithm that tries to approximate a sparse structure implied by [2] for vision networks and covering the hypothesized outcome by dense, readily available components.

Inception 아키텍처는 처음에는 첫 번째 저자의 케이스 스터디로 시작되었습니다. 이 스터디는 비전 네트워크를 위한 [2]에서 제안된 희소 구조를 근사화하려는 복잡한 네트워크 토폴로지 구축 알고리즘의 가상 출력을 평가하기 위한 것이었습니다. 이를 위해 밀집하고 즉시 사용 가능한 구성 요소를 사용하여 가설에 대응하는 밀집 구조를 만들기를 목표로 하였습니다.

 

희소 구조의 가설에 대응하기 위해 밀집 구성 요소를 사용하여 Inception 아키텍처는 희소성의 이론적 원리와 비전 네트워크에서 즉시 사용 가능한 구성 요소를 결합하는 적절한 균형을 찾으려고 했습니다. 이 접근 방식은 실제 상황에서 이러한 아키텍처의 잠재적 이점과 트레이드오프를 탐구하고 평가하는 것을 가능하게 했습니다.

 

Despite being a highly speculative undertaking, only after two iterations on the exact choice of topology, we could already see modest gains against the reference architecture based on [12].

비록 이는 매우 과도한 시도였지만, 정확한 토폴로지의 선택으로 딱 두 번의 iteration에서 이미 우리는 [12]에 기반한 참조 아키텍처와 비교했을 때 일부 성과 향상을 관찰할 수 있었습니다.

 

After further tuning of learning rate, hyperparameters and improved training methodology, we established that the resulting Inception architecture was especially useful in the context of localization and object detection as the base network for [6] and [5].

학습률, 하이퍼파라미터 및 향상된 학습 방법론을 추가적으로 조정한 후, 우리는 Inception 아키텍처가 [6] 및 [5]의 로컬리제이션과 객체 탐지에 특히 유용한 기본 네트워크로 입증되었다는 것을 확인했습니다.

 

Interestingly, while most of the original architectural choices have been questioned and tested thoroughly, they turned out to be at least locally optimal.

흥미롭게도, 대부분의 원래 아키텍처 선택 사항들은 의문이 제기되고 철저하게 테스트되었음에도 불구하고, 적어도 지역적으로 최적의 선택으로 나타났습니다.

 

One must be cautious though: although the proposed architecture has become a success for computer vision, it is still questionable whether its quality can be attributed to the guiding principles that have lead to its construction.

그러나 주의가 필요합니다: 제안된 아키텍처가 컴퓨터 비전 분야에서 성공을 거두었지만, 그 품질이 아키텍처 구축을 이끈 원칙들에 기인할 수 있는지는 여전히 의문입니다.

 

즉, 성공은 아키텍처의 개발 과정에서 적용된 지침들에 의해 영향을 받았는지 여부가 확실하지 않을 수 있습니다. 이는 해당 아키텍처의 성능이 원칙들에 의한 것인지 아니면 다른 요인에 의해 결정되었는지에 대한 더 심층적인 분석과 검증이 필요하다는 것을 의미합니다.

 

Making sure would require much more thorough analysis and verification: for example, if automated tools based on the principles described below would find similar, but better topology for the vision networks.

확신을 얻기 위해서는 더 철저한 분석과 검증이 필요합니다. 예를 들어, 아래에 설명된 원칙을 기반으로 한 자동화 도구가 비전 네트워크에 대해 유사하지만 더 나은 토폴로지를 찾을 수 있는지 확인해야 합니다.

 

The most convincing proof would be if an automated system would create network topologies resulting in similar gains in other domains using the same algorithm but with very differently looking global architecture.

가장 설득력 있는 증거는, 동일한 알고리즘을 사용하여 매우 다른 전체 아키텍처를 가진 다른 도메인에서 유사한 향상을 가져오는 네트워크 토폴로지를 자동으로 생성하는 시스템이 있다면 될 것입니다.

 

At very least, the initial success of the Inception architecture yields firm motivation for exciting future work in this direction.

적어도 Inception 아키텍처의 초기 성공은 이 방향으로의 흥미로운 향후 연구에 대한 단단한 동기를 제시합니다.

반응형
댓글
공지사항
최근에 올라온 글