主要内容

사용자지정딥러닝계층정의하기

이항목에서는문제에맞게사용자지정딥러닝계층을정의하는방법을설명합니다。深度学习工具箱™에내장된계층목록은딥러닝계층목록항목을참조하십시오。

작업에대해자신만의고유한사용자지정딥러닝계층을정의할수있습니다。사용자지정출력계층을사용하여사용자지정손실함수를지정하고학습가능한파라미터와상태파라미터를포함하거나포함하지않는사용자지정계층을정의할수있습니다。사용자지정계층을정의한후에는이계층이유효하고,GPU와호환되며,올바르게정의된기울기를출력하는지확인할수있습니다。

이항목에서는딥러닝계층의아키텍처를설명하고작업에맞게사용자지정계층을정의하는방법을설명합니다。

유형 설명
중간 계층

사용자지정딥러닝계층을정의하고학습가능한파라미터와상태파라미터를선택적으로지정합니다。

자세한내용은定义自定义深度学习中间层항목을참조하십시오。

학습가능한파라미터가있는사용자지정계층을정의하는방법을보여주는예제는학습가능한파라미터를갖는사용자지정딥러닝계층정의하기항목을참조하십시오。입력값이여러개사용자지정계층을정의하는방법을보여주는예제는定义具有多个输入的自定义深度学习层항목을참조하십시오。

분류출력계층

사용자지정분류출력계층을정의하고손실함수를지정합니다。

자세한내용은定义自定义深度学习输出层항목을참조하십시오。

사용자지정분류출력계층을정의하고손실함수를지정하는방법을보여주는예제는定义自定义分类输出层항목을참조하십시오。

회귀출력계층

사용자지정회귀출력계층을정의하고손실함수를지정합니다。

자세한내용은定义自定义深度学习输出层항목을참조하십시오。

사용자지정회귀출력계층을정의하고손실함수를지정하는방법을보여주는예제는사용자지정회귀출력계층정의하기항목을참조하십시오。

계층템플릿

다음템플릿을사용하여새로운계층을정의할수있습니다。

중간계층템플릿

분류출력계층템플릿

회귀출력계층템플릿

중간계층아키텍처

훈련중에반복적으로신경망이순방향으로통과되고역방향으로통과됩니다。

신경망을순방향으로통과하는동안각계층이이전계층의출력값을받아서함수를적용한다음결과를다음계층으로출력(순방향전파)합니다。상태유지계층(예:LSTM계층)은계층상태도업데이트합니다。

계층은여러개의입력값과출력값을가질수있습니다。예를들어,하나의계층은여러개의이전계층에서x1,…,xN을받아서출력값z1,…,z을다음계층으로순방향전파할수있습니다。

신경망의순방향통과끝에서출력계층은예측값Y와목표값T사이의손실L을계산합니다。

신경망을역방향으로통과하는중에는각계층이해당계층의출력값에대한손실의도함수를받아서입력값에대한손실L의도함수를계산한다음결과를역방향전파합니다。계층에학습가능한파라미터가있는경우계층가중치(학습가능한파라미터)의도함수도계산합니다。계층은가중치의도함수를사용하여학습가능한파라미터를업데이트합니다。

심층신경망을통과하는데이터의흐름을보여주는다음그림은단일입력값X,단일출력값Z,그리고학습가능한파라미터W가있는계층을통과하여흐르는데이터를보여줍니다。

사용자지정중간계층에대한자세한내용은定义自定义深度学习中间层항목을참조하십시오。

출력계층아키텍처

훈련시점에순방향통과끝에서,출력계층은이전계층(신경망예측값)의출력값Y를받아서이들예측값과훈련목표값사이의손실L을계산합니다。출력계층은예측값Y에대한손실L의도함수를계산한다음이전계층으로결과를출력(역방향전파)합니다。

다음그림은신경망과출력계층을통과하는데이터의흐름을보여줍니다。

자세한내용은定义自定义深度学习输出层항목을참조하십시오。

사용자지정계층의유효성검사하기

사용자지정딥러닝계층을만들때checkLayer함수를사용하여계층이유효한지검사할수있습니다。이함수는계층에서유효성,GPU호환성,올바르게정의된기울기및코드생성호환성을검사합니다。계층이유효한지검사하려면다음명령을실행하십시오。

validInputSize checkLayer(层)
는계층의스턴스이고validInputSize는계층에대한유효한입력크기를지정하는벡터또는셀형배열입니다。여러개의관측값을검사하려면ObservationDimension옵션을설정하십시오。코드생성호환성검사를실행하려면CheckCodegenCompatibility옵션을1(正确)로설정하십시오。입력크기가크면기울기검사를실행하는데더오랜시간이소됩니다。검사속도를늘리려면유효한입력크기를작게지정하십시오。

자세한내용은检查自定义层有效性항목을참조하십시오。

참고 항목

||||||||||

관련 항목