Algorithm/Deep Learning

Learning Deep Architectures for AI (1 Introduction )

빠릿베짱이 2013. 4. 29. 22:07
반응형

상위 레벨의 관념을 표현하는 복잡한 기능들의 종류를 학습하기 위해 이론적인 결과를 제안한다.

Deep architectures는 많은 히든 레이어로 만들어진 뉴럴 네트워크, 또는 많은 서브 공식을 재사용하는 복잡한

공식처럼 비선형 동작의 멀티 레벨로 구성된다.

Searching the parameter space of deep architectures is a difficult optimization task,

Deep architectures의 파라미터 공간을 찾는 것은 어려운 최적화 작업이다.

but learning algorithms such as those for Deep Belief Networks have recently been proposed to tackle this problem with notable success, beating the state-of-the-art in certain areas.

하지만 최근에 Deep Belief Networks와 같은 학습 알고리즘은 주목할만한 성공으로 이러한 문제를 다루기위해 제안되었다.

This paper discusses the motivations and principles regarding learning algorithms for deep architectures, in particular those exploiting as building blocks unsupervised learning of single-layer models such as Restricted Boltzmann Machines, used to construct deeper models such as Deep Belief Networks.

이 논문은 Deep Architectures를 위한 학습 알고리즘에 대한 동기와 원리에 대해 논의하며, 특히, Restricted Boltzmann Machines과 같은 단층 모델의 비감독 학습을 활용하여 Deep Belief Networks와 같은 Deeper 모델을 구성하기위해 사용된다.

1 Introduction

Allowing computers to model our world well enough to exhibit what we call intelligence has been the focus of more than half a century of research.

우리가 지능이라 부르는 것을 충분히 설명하기 위해 컴퓨터를 모델화 하는 것은 반세기 이상 주목받아왔다.

To achieve this, it is clear that a large quantity of information about our world should somehow be stored, explicitly or implicitly, in the computer.

이러한 것을 달성하기 위해 컴퓨터에는 명시적으로나 절대적으로 아주 많은 양의 우리 세계의 정보가 저장되어야 한다.

Because it seems daunting to formalize manually all that information in a form that computers can use to answer questions and generalize to new contexts, many researchers have turned to learning algorithms to capture a large fraction of that information.

때문에  새로운 문맥을 일반화하고, 문제에 대답하기 위해 컴퓨터를 사용하는 것은 모든 그러한 정보를 수동적으로 수식화하기에는 겁나게 보인다. 많은 연구자들은 그러한 정보의 큰 부분을 캡쳐하기 위해 학습 알고리즘 개발에 노력해왔다.

Much progress has been made to understand and improve learning algorithms, but the challenge of artificial intelligence (AI) remains.

많은 진행은 학습 알고리즘을 이해하고 개선하기 위해 시도되었지만, 인공지능에 대한 도전은 아직 남아있다.

Do we have algorithms that can understand scenes and describe them in natural language?

장면을 이해하고 자연어안에서 그것을 표현할 수 있는 알고리즘이 있을까?

Not really, except in very limited settings.

매우 제한적인 상황을 제외하고는 아직 없다.

Do we have algorithms that can infer enough semantic concepts to be able to interact with most humans using these concepts? No.

이런 개념을 사용하는 대부분의 인간과 대화 가능한 충분한 의미적 개념을 추측할 수 있는 알고리즘은 있나? 없다.

If we consider image understanding, one of the best specified of the AI tasks, we realize that we do not yet have learning algorithms that can discover the many visual and semantic concepts that would seem to be necessary to interpret most images.

만약 우리가 AI 부분에서 가장 특별한 것 중 하나인 이미지 이해를 고려해보면, 대부분의 이미지를 해석하기 위해 필요한 의미적 개념과 많은 비주얼을 발견할 수 있는 학습 알고리즘을 아직 가지고 있지 않다는 것을 깨달을 것이다.

The situation is similar for other AI tasks. 이러한 상황은 다른 AI 분야에서도 마찬가지이다.

We assume that the computational machinery necessary to express complex behaviors (which one might label “intelligent”) requires highly varying mathematical functions,

우리는 복잡한 동작을 표현하기 위해 필요한 컴퓨팅 기계는 매우 다양한 수학적 함수들을 요구한다고 가정한다.

i.e. mathematical functions that are highly non-linear in terms of raw sensory inputs.

다시 말하면, 수학적 함수는 하위 레벨의 센서 입력에 대한 매우 비선형적인 것이다.

Consider for example the task of interpreting an input image such as the one in Figure 1.

그림 1에서처럼 입력 영상을 해석하는 작업의 예를 생각해보자.

When humans try to solve a particular task in AI (such as machine vision or natural language processing), they often exploit their intuition about how to decompose the problem into sub-problems and multiple levels of representation.

인간이 AI 분야에서 특정한 작업을 해결하기 위해 노력할때, 그들은 종종 그 문제를 하위 문제와 표현의 다양한 단계로 분할하는 방법에 대해 그들의 직감을 활용한다.

A plausible and common way to extract useful information from a natural image involves transforming the raw pixel representation into gradually more abstract representations,

자연 영상으로부터 유용한 정보를 추출하기 위한 그럴듯하고, 일반적인 방법은 화소를 점차적으로 좀 더 추상화된 표현으로 재표현하는 것을 포함한다.

e.g., starting from the presence of edges, the detection of more complex but local
shapes, up to the identification of abstract categories associated with sub-objects and objects which are parts of the image, and putting all these together to capture enough understanding of the scene to answer questions
about it.

예를 들면, 에지의 존재로 시작하여 좀 더 복잡한 지역적 형태, 하위 객체를 가지고 카테고리를 나누거나, 이미지의 부분으로 객체를 카테고리에 할당하는 것, 그리고 그것에 대한 문제를 대답하기 위해 장면의 이해를 넣어두는 것?

 

We view the raw input to the learning system as a high dimensional entity, made of many observed
variables, which are related by unknown intricate statistical relationships.

우리는 로우 입력을 학습시스템을 위한 알지못하는 복잡한 통계적인 관계와 연관되며, 많은 관찰된 변수들로 만들어진 높은 차원의 엔티티로써 간주한다.

For example, using knowledge of the 3D geometry of solid object and lighting, we can relate small variations in underlying physical and geometric factors (such as position, orientation, lighting of an object) with changes in pixel intensities for all the pixels in an image.

예를들면, 빛과 강체의 3차원 기하학적인 지식을 사용하여, 우리는 이미지에서 모든 픽셀의 명암값의 변화가 물리적인 것과 기하학적인 것에 바탕인 변화에 연관시킬수 있다.

In this case, our knowledge of the physical factors involved allows one to get a picture of the mathematical form of these dependencies, and of the shape of the set of images associated with the same 3D object.

이러한 경우, 물리적 요소에 대한 우리의 지식은 이러한 의존성의 수학적 형태와 같은 3차원 객체와 연관된 이미지 집합의 형태에 대한 한장의 영상을 얻는 것을 포함한다?

 If a machine captured the factors that explain the statistical variations in the data, and how they interact to generate the kind of data we observe, we would be able to say that the machine understands those aspects of the world covered by these factors of variation.

만약 기계가 데이터에서 통계적인 변화를 설명하는 요소와 우리가 관찰한 데이터의 종류을 생성하기 위해 그들이 상호작용하는 방법을 찾을수 있다면,  우리는 기계가 이러한 요소의 변화에 의해 세계의 이러한 면을 이해할 수 있다고 말할수 있다.

Unfortunately, in general and for most factors of variation underlying natural images, we do not have an analytical understanding of these factors of variation.

불행하게도, 일반적으로 자연영상에 기반한 대부분 요소의 변화에서, 우리는 그러한 요소의 변화를 분석적으로 이해하지 못한다.

We do not have enough formalized prior knowledge about the world to explain the observed variety of images, even for such an apparently simple abstraction as MAN, illustrated in Figure 1.

우리는 관찰된 이미지의 다양성을 설명하는 것에 대해 그림 1의 앉아있는 남자와 같이 간단한 추상화 조차도 수식화 하지 못한다.

A high-level abstraction such as MAN has the property that it corresponds to a very large set of possible images, which might be very different from each other from the point of view of simple Euclidean distance in the space of pixel intensities.

남자와 같은 매우 높은 수준의 추상화는 가능한 이미지들의 매우 큰 집합에 해당하는 속성을 갖는다. 이것은 화소의 명암값에 대한 공간에서 간단한 유클라디언 거리를 보면 포인트에서 다른 각 포인트와 매우 다르다. (매우 복잡하다는 이야기 같음)

The set of images for which that label could be appropriate forms a highly convoluted region in pixel space that is not even necessarily a connected region.

라벨된 영상의 집합은 반드시 연결되어 있는 않은 픽셀 공간에서 매우 복잡한 영역의 형태 일 수 있다.

The MAN category can be seen as a high-level abstraction with respect to the space of images.

남자라는 카테고리는 이미지 공간에 대한 높은 수준의 추상화로 보일 수 있다.

What we call abstraction here can be a category (such as theMAN category) or a feature, a function of sensory data, which can be discrete (e.g., the input sentence is at the past tense) or continuous (e.g., the input video shows an object moving at a particular velocity).

우리가 여기서 추상화라고 부르는 것은 남자와 같은 카테고리 또는 이산화, 연속된(예를들어 특정한 속도를 움직이는 객체) 센싱 데이터의 기능, 특징이 될 수 있다.

Many lower level and intermediate level concepts (which we also call abstractions here) would be
useful to construct a MAN-detector.

많은 하위 레벨과 중간 레벨의 개념들은 남자 검출기를 구성하기위해 사용될 수 있을 것이다.

Lower level abstractions are more directly tied to particular percepts, whereas higher level ones are what we call “more abstract” because their connection to actual percepts is more remote, and through other, intermediate level abstractions.

하위 레벨의 추상화는 그것들의 실제 지각 대상과 그리고 중간단계의 추상화, 또 다른 것을 통한 연결은 멀리 떨어져 있기 때문에 우리는 우리가 좀더 추상화라고 부르는 상위 레벨이 있는데도 특별한 지각 결과를 위해 직접적으로 시도한다. (결국 하위 레벨의 추상화를 통해 상위 레벨의 추상화를 얻고자 한다는 의미인듯, 결국 중간 단계를 건너뛴다는 의미인 것 같다. 순서대로 추상화 개념을 사용해서 인식하는 것이 맞는 것을 설명하는 것 같음)

We do not know exactly how to build robust MAN detectors or even intermediate abstractions that would
be appropriate.

우리는 강건한 남자 검출기를 만드는 방법, 또 중간 단계의 추상화를 정확하게 알지 못한다.

Furthermore, the number of visual and semantic categories (such as MAN) that we would like an “intelligent” machine to capture is large.

게다가 시각과 의미적인 (남자와 같은) 카테고리는 매우 크다.

The focus of deep architecture learning is to automatically discover such abstractions, fromthe lowest level features to the highest level concepts.

 Deep Architecture Learning 의 요점은 그러한 추상화와, 하위 레벨 특징으로 최상위 레벨의 개념을 자동으로 발견하는 것이다.

Ideally, we would like learning algorithms that enable this discovery with as little human effort as possible, i.e., without having to manually define all necessary abstractions or having to provide a huge set of relevant hand-labeled examples.

이상적으로 우리는 가능한 인간의 작은 노력으로 발견 가능한 학습 알고리즘을 좋아할것이다. 예를들면 모든 필요한 추상화를 수동적으로 정의하지 않거나, 연관있는 직접 레이블한 샘플들의 큰 데이터 집합을 제공하지 않는

If these algorithms could tap into the huge resource of text and images on the web, it would certainly help to
transfer much of human knowledge into machine-interpretable form.

만약 이러한 알고리즘이 웹상에 있는 텍스트와 이미지에 라벨을 할 수 있다면, 이것은 많은 인간의 지식을 기계가 대화 가능한 형태로 변화하는데 도움을 줄 것이다.

One of the important points we argue in the first part of this paper is that the functions learned should have a
structure composed of multiple levels, analogous to the multiple levels of abstraction that humans naturally
envision when they describe an aspect of their world.

우리가 이 논문의 처음에서 주장한 중요한 점들중에 하나는 학습의 기능이 다양한 레벨의 구조를 구성해주고, 인간이 실세계를 묘사할때 자연스럽게 상상하는 것과 유사한 여러 단계의 추상화를 해주는 것이다.

 The arguments rest both on intuition and on theoretical results about the representational limitations of functions defined with an insufficient number of levels.

그러한 논점은 불충분한 수로 정의된 기능들의 재표현 한계점에 대한 직감과 이론적인 결과로 남아있다.

Since most current work in machine learning is based on shallow architectures, these results suggest investigating
learning algorithms for deep architectures, which is the subject of the second part of this paper.

때문에 기계학습에서 대부분의 연구는 얕은 구조에 기반한다. 이러한 결과는 깊은 구조를 위한 학습 알고리즘을 살피는것을 제안한다. 이것은 이 논문의 2장에서 설명하겠다.

 In much of machine vision systems, learning algorithms have been limited to specific parts of such a processing
chain.

머신 비전 시스템의 많은 부분에서, 학습 알고리즘은 프로세스 연쇄와 같은 특정한 부분들에서 한계를 가지고 있다.

The rest of of design remains labor-intensive, which might limit the scale of such systems.

그러한 디자인의 나머지는 그러한 시스템의 크기를 제한할 수도 있는 노동집약적으로 남아있다?

On the other hand, a hallmark of what we would consider intelligent includes a large enough vocabulary of concepts.

반면에, 우리가 고려해야할 지능의 특성은 매우 많은 개념의 어휘를 포함한다.

Recognizing MAN is not enough. We need algorithms that can tackle a very large set of such
tasks and concepts.

남자를 인식하는 것으로는 충분하지 않다. 우리는 매우 큰 그러한 일과 개념들의 집합을 다룰 수 있는 알고리즘이 필요하다.

It seems daunting to manually define that many tasks, and learning becomes essential in this context.

많은 작업들을 수동적으로 정의하는 것은 매우 끔찍하게 보인다. 그리고 문맥 안에서 학습은 매우 중요하게 된다.

It would seem foolish not to exploit the underlying commonalities between these these tasks and between the concepts they require.

이것은 작업들 간, 그리고 그들이 요구하는 개념들 간에 근원적인 공유들을 활용하는 것은 바보같아 보이지 않는다.

This has been the focus of research on multi-task learning (Caruana, 1993; Baxter, 1995; Intrator & Edelman, 1996; Baxter, 1997).

이것은 멀티 작업 학습에 기반한 연구에 포커스 되어 있다.

Architectures with multiple levels naturally provide such sharing and re-use of components: the low-level visual features (like edge detectors) and intermediate-level visual features (like object parts) that are useful to detectMAN are also useful for a large group of other visual tasks.

멀티레벨의 구조는 자연적으로 컴포넌트들의 재사용과 공유를 제공한다. -> 하위 레벨의 비주얼 특징 ( 에지 검출기와 같은) 과 중간 단계의 비주얼 특징( 객체 부분) <- 즉 다른 비주얼 작업의 큰 그룹을 위해 사용할 수 있는 남자 검출기와 같은 것,

In addition, learning about a large set of interrelated concepts might provide a key to the kind of broad generalizations that humans appear able to do, which we would not expect from separately trained object detectors, with one detector per visual category.

추가적으로 서로 관계있는 개념들의 큰 집합에 대해 학습하는 것은 인간이 할 수 있는 것과 같은 폭넓은 종류의 일반화의 핵심을 제공하는 것이다.

If each high-level category is itself represented through a particular configuration of abstract features, generalization to unseen categories could follow naturally from new configurations of these features.

만약 상위 레벨의 카테고리가 특정한 추상화된 특징의 구성을  통해 자신이 표현된다면, 아직 보지못한 카테고리를 이러한 특징들의 새로운 구성으로부터 일반화 할 수 있다.

Even though only some configurations of these features would be present in the training examples, if they represent different aspects of the data, new examples could meaningfully be represented by new configurations of these features.

그러한 특징들의 구성이 학습 예제에서 표현 될 것임에도 불구하고, 만약 그들이 데이터의 다른 모양을 표현한다면, 새로운 예제는 그런 특징들의 새로운 구성에 의해 의미있게 재표현될 수 있다.

This idea underlies the concept of distributed representation that is at the core of many of the learning algorithms described in this paper, and discussed in Section 4.

이 아이디어는 이 논문에서 설명하는 많은 학습 알고리즘의 중요한 부분인 분배된 표현의 개념에 기초한다. 그리고 4절에서 논의한다.

This paper has two main parts which can be read almost independently.

이 논문은 거의 독립적으로 읽을 수 있는 두 개의 부분으로 구성되어있다.

In the first part, Sections 2, 3 and 4 use mathematical arguments to motivate deep architectures, in which each level is associated with a distributed representation of the input.

첫번쨰 부분인 2,3,4절은 입력의 분배된 표현으로 연상되는 각 단계에서 딥러닝의 동기부여를 위해 수학적인 주장을 사용한다.

The second part (in the remaining sections) covers current learning algorithms for deep architectures, with a focus on Deep Belief Networks, and their component layer, the Restricted Boltzmann Machine.

두번째 부분에서는 딥 러닝을 위한 Deep Belief Network와 Restricted Boltzmann Machine의 컴포넌트 레이어로  현재의 학습 알고리즘을 다룬다.

The next two sections of this paper review mathematical results that suggest limitations of many existing
learning algorithms. Two aspects of these limitations are considered: insufficient depth of architectures, and locality of estimators.

이 논문의 다음 두 절에서는 많은 존재하는 학습 알고리즘의 한계를 제시하는 수학적인 결과를 평가한다. 이러한 제한의 두개의 양상은 고려된다. 아키텍처의 불충분한 깊이와 예측기의 지역성.

To understand the notion of depth of architecture, one must introduce the notion of a set of computational elements.

아키텍쳐 깊이의 개념을 이해하기 위해서는 계산적인 요소집합의 개념을 소개해야만 한다.

An example of such a set is the set of computations performed by an artificial neuron.

그러한 집합의 예는 인공신경에 의해 수행되는 계산 집합이다.

A function can be expressed by the composition of elements from this set, using a graph
which formalizes this composition, with one node per computational element.

기능은 이러한 집합으로부터 요소들의 구성에 의해 표현 될 수 있다. 이러한 구성을 형식화한 그래프, 계산적인 요소당 하나의 노드에 의해..

Depth of architecture refers to the depth of that graph, i.e. the longest path from an input node to an output node.

구조의 깊이는 그래프의 깊이를 의미한다 예를 들어 입력 노드로부터 출력노드까지의 가장 긴 패스

When the set of computational elements is the set of computations an artificial neuron can make (depending on its parameter values), depth corresponds to the number of layers in a neural network.

계산적인 요소의 집합이 인공 신경으로 만들 수 있는 계산의 집합일 때( 그것들의 파라미터 값에 의존적인), 깊이는 인공신경망에서 레이어의 수에 대응된다.

Section 2 reviews theoretical results showing that an architecture with insufficient depth can require many more computational elements, potentially exponentially more (with respect to input size), than architectures whose depth is matched to the task.

2장에서는 작업에 매칭된 깊이의 구조보다, 불충분한 구조는 좀 더 많은 계산적인 요소를 요구할 수 있다. 입력 크기에 대해 잠재적으로, 기하급수적으로... 이것을 보여주는 이론적인 결과를 리뷰한다.

This is detrimental for learning. Indeed, if a function represents a solution to the task with a very large but shallow architecture (with many computational elements), a lot of training examples might be needed to tune each of these elements.

물론, 이것은 학습에 있어서는 단점이다.  만약 기능이 얕은 구조지만 매우 큰, 즉 많은 계산적인 요소를 가지고 있지만 얕은 구조로서 작업의 해결책을 찾고자 한다면, 그 요소들의 각각을 조정하기 위해 매우 많은 학습 샘플이 필요하게 될 것이다.

 

We say that the expression of a function is compact when it has few computational elements, i.e. less degrees of freedom that can be tuned by learning. So for a fixed number of
training examples, we would expect that compact representations of the target function would yield better
generalization.

Connected to the depth question is the question of locality of estimators, discussed in Section 3. This is
another, more geometrically obvious, limitation of a large class of non-parametric learning algorithms: they
obtain good generalization for a new input x by mostly exploiting training examples in the neighborhood
of x. For example, the k nearest neighbors of the test point x, among the training examples, vote for the
prediction at x. This locality issue is directly connected to the literature on the curse of dimensionality, but
the results we cite show that what matters for generalization is not dimensionality, but instead the number
of “variations” of the function we wish to obtain after learning. For example, if the function represented
by the model is piecewise-constant (e.g. decision trees), then the question that matters is the number of
pieces required to approximate properly the target function. There are connections between the number of
variations and the input dimension: one can readily design families of target functions for which the number
of variations is exponential in the input dimension, such as the parity function with d inputs.

Section 4 suggests how deep architectures could be exploited to extract multiple levels of distributed representations,
where the set of configurations of values at each level of the computation graph can be very
large. This would allow us to compactly represent a complicated function of the input.
In the remainder, the paper describes and analyses some of the algorithms that have been proposed to train
deep architectures.1 Many of these algorithms are based on the autoassociator: a simple unsupervised algorithm
for learning a one-layer model that computes a distributed representation for its input (Rumelhart,
Hinton, & Williams, 1986a; Bourlard & Kamp, 1988; Hinton & Zemel, 1994). We also discuss convolutional
neural networks, the oldest successful example of deep architecture, specialized for vision and
signal processing tasks (LeCun, Boser, Denker, Henderson, Howard, Hubbard, & Jackel, 1989; LeCun, Bottou,
Bengio, & Haffner, 1998b). Sections 9 and 10 are devoted to a family of more recently proposed learning
algorithms that have been very successful to train deep architectures: Deep Belief Networks (DBNs) (Hinton,
Osindero, & Teh, 2006) and Stacked Autoassociators (Bengio, Lamblin, Popovici, & Larochelle, 2007;
Ranzato, Poultney, Chopra, & LeCun, 2007). DBNs are based on Restricted Boltzmann Machines (RBMs)
and the Contrastive Divergence algorithm (Hinton, 2002), introduced in Section 6. In Section 7 we describe
estimators of the log-likelihood gradient for RBMs. This analysis shows how reconstruction error (used
to train autoassociators), and Contrastive Divergence (used to train RBMs) approximate the log-likelihood
gradient. Section 8 generalizes as much as possible the parametrization of RBMs so as to keep its basic
factorizing property and the Contrastive Divergence estimator of the gradient. Finally, we consider the most
challenging question: how can we possibly deal with the difficult optimization problem that training these
deep architectures entails? This part of the paper contains mostly questions and suggestions for research
directions. In particular, we discuss the principle of continuation methods, which first solves smoother versions
of the desired cost function, to make a dent in the optimization of deep architectures, and we find that
existing algorithms for RBMs and DBNs already are approximate continuation methods.

1.1 Desiderata for Learning AI

Summarizing some of the above issues, we state a number of requirements we perceive for learning algorithms
to solve AI.
• Ability to learn complex, highly-varying functions, i.e., with a number of variationsmuch greater than
the number of training examples.
• Ability to learn with little human input the low-level, intermediate, and high-level abstractions that
would be useful to represent the kind of complex functions needed for AI tasks.
• Ability to learn from a very large set of examples: computation time for training should scale well
with the number of examples, i.e. close to linearly.
• Ability to learn from mostly unlabeled data, i.e. to work in the semi-supervised setting, where not all
the examples come with the “right” associated labels.
• Ability to exploit the synergies present across a large number of tasks, i.e. multi-task learning. These
synergies exist because all the AI tasks provide different views on the same underlying reality.
• In the limit of a large number of tasks and when future tasks are not known ahead of time, strong
unsupervised learning (i.e. capturing the statistical structure in the observed data) is an important
element of the solution.
Other elements are equally important but are not directly connected to the material in this paper. They
include the ability to learn to represent context of varying length and structure (Pollack, 1990), so as to
allow machines to operate in a stream of observations and produce a stream of actions, the ability to make
decisions when actions influence the future observations and future rewards (Sutton & Barto, 1998), and the
ability to influence future observations so as to collect more relevant information about the world (i.e. a form
of active learning (Cohn, Ghahramani, & Jordan, 1995)).

 

반응형