Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Éñ¾­ÍøÂçѧϰµÄ¿ÉÊÓ»¯¡¢¼à²â¼°µ÷ÊÔ·½·¨
 
  2677  次浏览      41
 2019-3-11
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚDL4JÍøÕ¾£¬±¾ÎĽ«Ïêϸ½éÉÜ»ùÓÚDeeplearning4jÉñ¾­ÍøÂçѧϰµÄ¿ÉÊÓ»¯¡¢¼à²â¼°µ÷ÊÔ·½·¨,Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£

»ùÓÚDeeplearning4j¶¨ÐͽçÃæµÄÍøÂ綨ÐÍ¿ÉÊÓ»¯

×¢£ºÒÔÏÂ˵Ã÷ÊÊÓÃÓÚ0.7.0¼°ÒÔÉϵÄDL4J°æ±¾¡£

DL4JÌṩµÄÓû§½çÃæ¿ÉÒÔÔÚä¯ÀÀÆ÷ÖÐʵÏÖµ±Ç°ÍøÂç״̬ÒÔ¼°¶¨ÐͽøÕ¹µÄ£¨ÊµÊ±£©¿ÉÊÓ»¯¡£¸ÃÓû§½çÃæÍ¨³£ÓÃÓÚµ÷ÊÔÉñ¾­ÍøÂ磬Ò༴ͨ¹ýÑ¡ÔñºÏÊʵij¬²ÎÊý£¨ÀýÈçѧϰËÙÂÊ£©À´Ìá¸ßÍøÂçÐÔÄÜ¡£

µÚ1²½£º½«Deeplearning4jÓû§½çÃæÒÀÀµÏîÌí¼ÓÖÁÄúµÄÏîÄ¿¡£

<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-ui_2.10</artifactId>
<version>${dl4j.version}</version>
</dependency>

Çë×¢Òâºó׺_2.10£ºÕâÊÇScalaµÄ°æ±¾£¨ÒòΪºó¶ËʹÓÃPlay¿ò¼ÜºÍÒ»¸öSacal¿â£©¡£Èç¹ûÄúûÓÐʹÓÃÆäËûµÄScala¿â£¬ÄÇô_2.10»òÕß_2.11¶¼¿ÉÒÔ¡£

µÚ2²½£ºÔÚÄúµÄÏîÄ¿ÖÐÆôÓÃÓû§½çÃæ

ÕâÒ»²½Ïà¶Ô±È½Ï¼òµ¥£º

//³õʼ»¯Óû§½çÃæºó¶Ë
UIServer uiServer = UIServer.getInstance();

//ÉèÖÃÍøÂçÐÅÏ¢£¨ËæÊ±¼ä±ä»¯µÄÌݶȡ¢·ÖÖµµÈ£©µÄ´æ´¢Î»Öá£ÕâÀォÆä´æ´¢ÓÚÄÚ´æ¡£
StatsStorage statsStorage = new InMemoryStatsStorage(); //»òÕߣº new FileStatsStorage(File)£¬ÓÃÓÚºóÐøµÄ±£´æºÍÔØÈë

//½«StatsStorageʵÀýÁ¬½ÓÖÁÓû§½çÃæ£¬ÈÃStatsStorageµÄÄÚÈÝÄܹ»±»¿ÉÊÓ»¯
uiServer.attach(statsStorage);

//È»ºóÌí¼ÓStatsListenerÀ´ÔÚÍøÂ綨ÐÍʱÊÕ¼¯ÕâЩÐÅÏ¢
net.setListeners(new StatsListener(statsStorage));

·ÃÎÊÓû§½çÃæµÄ·½Ê½ÊÇ´ò¿ªä¯ÀÀÆ÷²¢·ÃÎÊhttp://localhost:9000/train¡£ Äú¿ÉÒÔÓÃorg.deeplearning4j.ui.portϵͳÊôÐÔÀ´ÉèÖö˿ڣº±ÈÈ磬ÈôҪʹÓÃ9001¶Ë¿Ú£¬ÇëÔÚJVMÆô¶¯²ÎÊýÖÐÌí¼Ó£º-Dorg.deeplearning4j.ui.port=9001

Ëæºóµ±Äú¶ÔÍøÂçµ÷ÓÃfit·½·¨Ê±£¬Ïà¹ØÐÅÏ¢¾Í»á±»ÊÕ¼¯ÆðÀ´£¬´«Ë͸øÓû§½çÃæ¡£

ʾÀý£ºÓû§½çÃæÊ¾Àý¼û´Ë´¦

È«Ì×µÄÓû§½çÃæÊ¾Àý²Î¼û´Ë´¦¡£

Deeplearning4jÓû§½çÃæ£º×ÜÀÀÒ³Ãæ

×ÜÀÀÒ³Ãæ£¨Óû§½çÃæµÄ3¸öÒ³ÃæÖ®Ò»£©°üº¬ÒÔÏÂÐÅÏ¢£º

×óÉÏ·½£º·ÖÖµÓëµü´ú´ÎÊýµÄ¹ØÏµÍ¼£­ÕâÊǵ±Ç°Î¢Åú´ÎµÄËðʧº¯ÊýµÄÖµ

ÓÒÉÏ·½£ºÄ£ÐͺͶ¨ÐÍÐÅÏ¢

×óÏ·½£ºËùÓÐÍøÂçÈ¨ÖØµÄ¸üÐÂÖµÓë²ÎÊýÖ®±È£¨¸÷²ã£©Í¬µü´ú´ÎÊýµÄ¹ØÏµ

ÓÒÏ·½£º¼¤»îº¯Êý¡¢ÌݶȺ͸üÐÂÖµµÄ±ê×¼²î£¨ËæÊ±¼ä±ä»¯Çé¿ö£©

×¢ÒâÏ·½Á½·ùͼÖÐÏÔʾµÄֵΪʵ¼ÊÖµµÄ³£ÓöÔÊý£¨µ×Ϊ10£©¡£Òò´Ë£¬Èç¹ûͼ±íÖиüÐÂÖµÓë²ÎÊýÖ®±ÈµÄֵΪ-3£¬Ôò¶ÔÓ¦µÄʵ¼Ê±ÈÀýΪ10-3 = 0.001¡£

¸üÐÂÖµÓë²ÎÊýÖ®±ÈÔÚ´Ë´¦Ö¸¸üÐÂÖµÓë²ÎÊýµÄƽ¾ùÖµÖ®±È¡£

ÕâЩÊýÖµÔÚʵ¼ùÖеÄʹÓ÷½Ê½²Î¼ûºóÃæµÄ¶ÎÂä¡£

Deeplearning4jÓû§½çÃæ£ºÄ£ÐÍÒ³Ãæ

Ä£ÐÍÒ³Ãæ°üº¬Ò»·ùÉñ¾­ÍøÂçµÄ²ã´Îͼ£¬Æðµ½Ñ¡Ôñ»úÖÆµÄ×÷Óᣵã»÷ÆäÖеÄÈÎÒâÒ»²ã£¬¼´»áÏÔʾ¸Ã²ãµÄÐÅÏ¢¡£

Ñ¡ÔñÁËijһ²ãÖ®ºó£¬Ò³ÃæÓÒ²à¿ÉÏÔʾÒÔÏÂͼ±í£º

1.¸Ã²ãµÄÐÅÏ¢±í

2.¸Ã²ãµÄ¸üÐÂÖµÓë²ÎÊýÖ®±È£¬Èç×ÜÀÀÒ³ÃæÖÐËùʾ¡£µã»÷Ñ¡Ï¼´¿É·Ö±ðÏÔʾÕâÒ»±ÈÀýµÄÁ½¸öÏ¸üÐÂÖµºÍ²ÎÊý¸÷×ÔµÄÆ½¾ùÖµ£©µÄÇé¿ö¡£

3.¸Ã²ãÖеļ¤»îº¯Êý£¨Æ½¾ùÖµ¼°Æ½¾ùÖµ+/-2¸ö±ê×¼²î·¶Î§£©ËæÊ±¼ä±ä»¯µÄÇé¿ö

4.¸÷Àà²ÎÊý¼°¸üÐÂÖµµÄÖù״ͼ

ѧϰËÙÂÊÓëʱ¼äµÄ¹ØÏµ£¨½öÔÚʹÓÃѧϰËÙÂʼƻ®Ê±²Å»áÓб仯£©

×¢Ò⣺²ÎÊý±ê¼Ç·½Ê½ÈçÏ£ºÈ¨ÖØ£¨W£©£¬Æ«²î£¨b£©¡£ÔÚÑ­»·Éñ¾­ÍøÂçÖУ¬WÖ¸½«¸Ã²ãÓëÏÂÒ»²ãÁ¬½ÓµÄÈ¨ÖØ£¬¶øRWָѭ»·È¨ÖØ£¨¼´Ê±¼ä²½Ö®¼äµÄÈ¨ÖØ£©¡£

Deeplearning4JÓû§½çÃæÓëSpark¶¨ÐÍ

DL4JÓû§½çÃæ¿ÉÒÔÅäºÏSparkʹÓᣵ«ÊÇ£¬½ØÖ¹µ½0.7.0°æ£¬ÓÉÓÚÒÀÀµÏîµÄ³åÍ»£¬ÔÚͬ¸öJVMÖÐͬʱÔËÐÐÓû§½çÃæºÍSpark¿ÉÄÜ»á±È½ÏÀ§ÄÑ¡£

ÓÐÁ½ÖÖÌæ´ú·½·¨£º

ÊÕ¼¯²¢±£´æÏà¹ØÍ³¼ÆÊý¾Ý£¬ËæºóÔÙ½øÐУ¨ÏßÏ£©¿ÉÊÓ»¯

ÔÚÁíÒ»¸ö·þÎñÆ÷ÖÐÔËÐÐÓû§½çÃæ£¬È»ºóÓÃÔ¶³ÌÓû§½çÃæ¹¦Äܽ«Êý¾Ý´ÓSparkÖ÷½ÚµãÉÏ´«ÖÁÓû§½çÃæÊµÀý

ÊÕ¼¯Êý¾ÝÒÔ¹©ÏßÏÂʹÓÃ

SparkDl4jMultiLayer sparkNet = new SparkDl4jMultiLayer(sc, conf, tm);
StatsStorage ss = new FileStatsStorage(new File("myNetworkTrainingStats.dl4j"));
sparkNet.setListeners(ss, Collections.singletonList(new StatsListener(null)));

Ö®ºó¿ÉÒÔÓÃÈçÏ´úÂë¼ÓÔØ²¢ÏÔʾÒѱ£´æµÄÐÅÏ¢£º

StatsStorage statsStorage = new FileStatsStorage(statsFile); //Èç¹ûÎļþÒÑ´æÔÚ£º´ÓÆäÖмÓÔØÊý¾Ý
UIServer uiServer = UIServer.getInstance();
uiServer.attach(statsStorage);

ʹÓÃÔ¶³ÌÓû§½çÃæ¹¦ÄÜ

Ê×ÏÈÔÚJVMÖÐÔËÐÐÓû§½çÃæ£º

UIServer uiServer = UIServer.getInstance();
uiServer.enableRemoteListener(); //±ØÒª²Ù×÷£ºÄ¬ÈÏÇé¿öϲ»ÆôÓÃÔ¶³ÌÖ§³Ö

ÕâÒ»²½ÐèÒªdeeplearning4j-ui_2.10»òdeeplearning4j-ui_2.11ÒÀÀµÏî¡£Æä´Î£¬ÔÚSpark¶¨ÐÍʵÀýÖУº

SparkDl4jMultiLayer sparkNet = new SparkDl4jMultiLayer(sc, conf, tm);
StatsStorageRouter remoteUIRouter = new RemoteUIStatsStorageRouter("http://UI_MACHINE_IP:9000");
sparkNet.setListeners(remoteUIRouter, Collections.singletonList(new StatsListener(null)));

Ϊ±ÜÃâÓëSpark·¢ÉúÒÀÀµÏî³åÍ»£¬Ó¦µ±Ê¹ÓÃdeeplearning4j-ui-modelÒÀÀµÏîÀ´»ñÈ¡StatsListener£¬¶ø²»ÊÇÍêÕûµÄdeeplearning4j-ui_2.10Óû§½çÃæÒÀÀµÏî¡£

×¢Ò⣺ÄúÓ¦µ±½«UI_MACHINE_IPÌæ»»ÎªÔËÐÐÓû§½çÃæÊµÀýµÄ¼ÆËã»úµÄIPµØÖ·¡£

ÓÃUIµ÷ÊÔÍøÂç

Andrej KarpathyµÄÕâ¸öÍøÒ³¶ÔÉñ¾­ÍøÂ綨Ð͵ĿÉÊÓ»¯×÷Á˺Ü͸³¹µÄ½éÉÜ£¬ÖµµÃÒ»¶Á£¬²»·ÁÏȽ«ÆäÖеÄÄÚÈÝÏû»¯Ò»Ï¡£

Éñ¾­ÍøÂçµÄµ÷ÊÔ¿ÉÄܸüÏñÊÇÒ»Ãż¼ÒÕ£¬¶ø·Ç¿ÆÑ§¡£µ«ÒÔϵÄһЩ˼·¿ÉÄÜ»áÓÐËù°ïÖú£º

×ÜÀÀÒ³Ãæ£­Ä£ÐÍ·ÖÖµÓëµü´ú´ÎÊýµÄ¹ØÏµÍ¼

Ëæ×ŵü´ú´ÎÊýµÄÔö¼Ó£¬£¨ÕûÌ壩·ÖÖµÓ¦µ±Öð½¥Ï½µ¡£

1.Èç¹û·ÖÖµ³ÖÐøÉÏÉý£¬ÄÇôÓпÉÄÜÊÇѧϰËÙÂÊÉèÖùý¸ß¡£³¢ÊÔ½µµÍѧϰËÙÂÊ£¬Ö±ÖÁ·ÖÖµ±äµÃ¸üÎȶ¨¡£

2.·ÖÖµ³ÖÐøÉÏÉýÒ²ÓпÉÄÜÊÇÆäËûÍøÂçÎÊÌâÔì³ÉµÄ£¬ÀýÈçÊý¾Ý±ê×¼»¯²»µ±

3.Èç¹û·ÖÖµ±£³Ö²»±ä£¬»òÕßϽµËÙ¶ÈÊ®·Ö»ºÂý£¨ÐèÒª¾­¹ý¼¸°Ù´Îµü´ú£©£¬ÄÇô£¨a£©Ñ§Ï°ËÙÂÊÓпÉÄÜÌ«µÍ£¬»òÕߣ¨b£©ÓÅ»¯¿ÉÄÜÓöµ½ÁËÀ§ÄÑ¡£ÔÚºóÒ»ÖÖÇé¿öÏ£¬Èç¹ûÄúʹÓõÄÊÇSGD¸üÐÂÆ÷£¬¿ÉÒÔÊÔ׎«Æä»»³É Nesterov£¨¶¯Á¿£©¡¢RMSProp»òAdagrad¸üÐÂÆ÷¡£

4.×¢Ò⣺δ¾­Ëæ»ú»¯µÄÊý¾Ý£¨¼´Ã¿¸ö΢Åú´ÎÖ»ÓÐÒ»¸ö·ÖÀàÀà±ð£©¿ÉÄܻᵼÖ·ÖÖµÓëµü´ú´ÎÊý¹ØÏµÍ¼³öÏֺܴ󲨶¯»òÒì³£ÐÎ̬

5.Õâ·ùͼÖгöÏÖһЩÔëÉùÊÇÕý³£µÄ£¨¼´ÇúÏß»áС·¶Î§ÉÏϲ¨¶¯£©¡£µ«ÊÇ£¬Èç¹û²»Í¬µü´úÖ®¼äµÄ·ÖÖµ²îÒìºÜ´ó£¬¾Í¿ÉÄÜ´æÔÚÎÊÌâ

6.Ôì³ÉÕâÖÖÏÖÏóµÄÔ­Òò¿ÉÄܰüÀ¨ÉÏÊö¸÷ÀàÎÊÌ⣨ѧϰËÙÂÊ¡¢±ê×¼»¯¡¢Êý¾ÝËæ»ú»¯£©¡£

7.ÿ¸ö΢Åú´ÎÖеÄÑùÀýÊýÁ¿Ì«ÉÙÒ²ÓпÉÄÜÔì³ÉͼÖгöÏֽϴóÔëÉù£¬Í¬Ê±ÓпÉÄܻᵼÖÂÓÅ»¯À§ÄÑ

×ÜÀÀÒ³ÃæºÍÄ£ÐÍÒ³Ãæ£­¸üÐÂÖµÓë²ÎÊý±ÈÀýͼµÄʹÓÃ

1.×ÜÀÀÒ³ÃæºÍÄ£ÐÍÒ³ÃæÉ϶¼»áÏÔʾ¸üÐÂÖµÓë²ÎÊýµÄƽ¾ùÖµÖ®±È

´Ë´¦µÄ¡°Æ½¾ùÖµ¡± = µ±Ç°Ê±¼ä²½Ï²ÎÊý»ò¸üÐÂÖµµÄ¾ø¶ÔÖµµÄƽ¾ùÊý

2.¸Ã±ÈÀý×îÖØÒªµÄÓÃ;ÊǰïÖúÉ趨ѧϰËÙÂÊ¡£Ò»°ãµÄ¹æÔòÊÇ£º¸Ã±ÈÀýÓ¦µ±ÔÚ1:1000 = 0.001×óÓÒ£¬ÔÚ£¨log10£©Í¼ÖÐΪ-3£¨¼´10-3 = 0.001£©

×¢ÒâÕâÖ»ÊÇ´ó¸ÅµÄÔ­Ôò£¬²»Ò»¶¨ÊÊÓÃÓÚËùÓеÄÉñ¾­ÍøÂ磬²»¹ýͨ³£¿ÉÒÔÒÔ´ËΪÆðµã¿ªÊ¼³¢ÊÔ¡£

Èç¹ûʵ¼Ê±ÈÀýÓë´ËÏà²îºÜ¶à£¨±ÈÈç > -2£¬¼´10-2=0.01£¬»òÕß < -4£¬¼´10-4=0.0001£©£¬ÄÇô²ÎÊý¿ÉÄÜÌ«²»Îȶ¨»òÕ߱仯̫Âý£¬ÍøÂçÎÞ·¨Ñ§»áʶ±ðÓÐÓõÄÌØÕ÷

¸Ä±äÕâÒ»±ÈÀýµÄ·½Ê½Êǵ÷ÕûѧϰËÙÂÊ£¨ÓÐʱҲ¿ÉÒÔµ÷Õû²ÎÊý³õʼ»¯£©¡£¶ÔÄ³Ð©ÍøÂç¶øÑÔ£¬ÓпÉÄÜÐèҪΪ²»Í¬µÄ²ãÉèÖò»Í¬µÄѧϰËÙÂÊ¡£

3.×¢Òâ±ÈÀýÊÇ·ñ³öÏÖÒì³£µÄ´ó·ùÉÏÉý£ºÕâ¿ÉÄܱíÃ÷·¢ÉúÁËÌݶÈÅòÕÍ

Ä£ÐÍÒ³Ãæ£º²ãÖм¤»îº¯Êý£¨Óëʱ¼äµÄ¹ØÏµ£©Í¼

¸Ãͼ¿ÉÓÃÓÚ¼ì²â¼¤»îº¯ÊýÏûʧ»òÅòÕÍ£¨¿ÉÄÜÓÉÈ¨ÖØ³õʼ»¯²»µ±¡¢ÕýÔò»¯¹ý¶È¡¢Êý¾Ý±ê×¼»¯²»×ã»òѧϰËÙÂʹý¸ßµ¼Ö£©¡£

1.ÀíÏë״̬Ï£¬Ëæ×Åʱ¼äÍÆÒÆ£¬Í¼ÏñÓ¦µ±Ç÷ÓÚÎȶ¨£¨Í¨³£ÐèÒªÊý°Ù´Îµü´ú£©

2.½ÏÀíÏëµÄ¼¤»îº¯Êý±ê×¼²îΪ0.5ÖÁ2.0×óÓÒ¡£Èç¹û±ê×¼²î´ó·ù³¬³öÕâÒ»·¶Î§£¬±íÃ÷ÓпÉÄܳöÏÖÁËÉÏÊö¼¸ÖÖÎÊÌâÖ®Ò»¡£

Ä£ÐÍÒ³Ãæ£º²ãÖвÎÊýµÄÖù״ͼ

²ãÖвÎÊýµÄÖù״ͼ½öÏÔʾ×î½üÒ»´Îµü´úµÄÇé¿ö¡£

1.¾­¹ýÒ»¶¨Ê±¼äÖ®ºó£¬È¨ÖصÄÖù״ͼӦ´óÖ³ÊÏÖ³ö¸ß˹£¨Õý̬£©·Ö²¼

2.Æ«²îµÄÖù״ͼһ°ã´Ó0¿ªÊ¼£¬×îÖÕͨ³£»á´óÖ³ʸß˹£¨Õý̬£©·Ö²¼

LSTMÑ­»·ÍøÂçµÄ²ãÊÇÌØÊâÇé¿ö£ºÔÚĬÈÏ״̬Ï£¬Ò»¸öÃÅ£¨ÒÅÍüÃÅ£©µÄÆ«²îÉèÖÃΪ1.0£¬ÒÔ°ïÖúÍøÂçѧϰ¿çÔ½½Ï³¤Ê±¼ä¶ÎµÄÒÀÀµ¹ØÏµ¡£Òò´Ë£¬Æ«²îͼÖÐ×î³õ»áÓÐÐí¶àÆ«²îλÓÚ0.0¸½½ü£¬¶øÁíÒ»×鯫²îÔò»áÔÚ1.0¸½½ü

3.×¢ÒâÊÇ·ñÓвÎÊýÆ«ÀëÕý³£·¶Î§²¢Ç÷ÏòÓÚÕý/¸ºÎÞÇÆäÔ­Òò¿ÉÄÜÊÇѧϰËÙÂʹý¸ß»òÕßÕýÔò»¯²»×㣨¿ÉÒÔÊÔ×ÅÎªÍøÂçÌí¼ÓһЩL2ÕýÔò»¯²½Ö裩¡£

4.×¢ÒâÊÇ·ñÓÐÆ«²î±äµÃ·Ç³£´ó¡£Èç¹ûÀà±ðµÄ·Ö²¼¼«¶È²»Æ½ºâ£¬·ÖÀàÊä³ö²ãÓÐʱ»á³öÏÖÕâÖÖÇé¿ö

Ä£ÐÍÒ³Ãæ£º²ãÖиüÐÂÖµµÄÖù״ͼ

²ãÖиüÐÂÖµµÄÖù״ͼ½öÏÔʾ×î½üÒ»´Îµü´úµÄÇé¿ö¡£

×¢ÒâͼÖÐÏÔʾµÄÊǸüÐÂÖµ£¬Ò²¾ÍÊÇÓ¦ÓÃÁËѧϰËÙÂÊ¡¢¶¯Á¿¡¢ÕýÔò»¯µÈÖ®ºóµÄÌݶÈ

Óë²ÎÊýͼÏàÀàËÆ£¬¸üÐÂÖµµÄÖù״ͼҲӦµ±´óÖ³ÊÏÖ³ö¸ß˹£¨Õý̬£©·Ö²¼

×¢ÒâÊÇ·ñ³öÏÖÌØ±ð´óµÄ¸üÐÂÖµ£ºÓпÉÄܱíÃ÷ÍøÂçÖÐÓÐÅòÕ͵ÄÌݶÈ

ÌݶÈÅòÕÍÊÇÒ»ÖÖÎÊÌ⣬ÓпÉÄܻᵼÖÂÍøÂç²ÎÊý±äµÃ¡°»ìÂÒ¡±

¸ÃÇé¿öÏÂÓпÉÄÜÊÇÈ¨ÖØ³õʼ»¯¡¢Ñ§Ï°ËÙÂÊ»òÊäÈë/±êÇ©Êý¾Ý±ê×¼»¯µÄÎÊÌâËùÖÂ

¶ÔÑ­»·Éñ¾­ÍøÂç¶øÑÔ£¬Ìí¼ÓһЩÌݶȱê×¼»¯»òÌݶȲüôµÄ²½Öè¿ÉÄÜ»áÓаïÖú

Ä£ÐÍÒ³Ãæ£º²ÎÊýѧϰËÙÂÊͼ

¸ÃͼÏÔʾµÄ¾ÍÊÇËùÑ¡²ãµÄ²ÎÊýµÄѧϰËÙÂÊËæÊ±¼ä±ä»¯µÄÇé¿ö

Èç¹ûÄúûÓÐʹÓÃѧϰËÙÂʼƻ®£¨learning rate schedule£©£¬Í¼Ïñ½«ÊÇˮƽֱÏß¡£Èç¹ûʹÓÃÁËѧϰËÙÂʼƻ®£¬¾Í¿ÉÒÔÓÃÕâÕÅͼÀ´¸ú×Ùµ±Ç°µÄѧϰËÙÂÊ£¨¶ÔÓÚÿ¸ö²ÎÊý¶øÑÔ£©¼°ÆäËæÊ±¼ä±ä»¯µÄÇé¿ö¡£

TSNEÓëWord2vec

ÎÒÃÇÒÀ¿¿TSNEÀ´½µµÍ´ÊÌØÕ÷ÏòÁ¿µÄά¶È£¬½«´ÊÏòÁ¿Í¶Ó°ÖÁ¶þά»òÈýάµÄ¿Õ¼ä¡£ÒÔÏÂÊÇÔÚWord2VecÍøÂçÖÐʹÓÃTSNEµÄ´úÂ룺

log.info("Plot TSNE....");
BarnesHutTsne tsne = new BarnesHutTsne.Builder()
.setMaxIter(1000)
.stopLyingIteration(250)
.learningRate(500)
.useAdaGrad(false)
.theta(0.5)
.setMomentum(0.5)
.normalize(true)
.usePca(false)
.build();
vec.lookupTable().plotVocab(tsne);
   
2677 ´Îä¯ÀÀ       41
Ïà¹ØÎÄÕÂ

»ùÓÚͼ¾í»ýÍøÂçµÄͼÉî¶Èѧϰ
×Ô¶¯¼ÝÊ»ÖеÄ3DÄ¿±ê¼ì²â
¹¤Òµ»úÆ÷ÈË¿ØÖÆÏµÍ³¼Ü¹¹½éÉÜ
ÏîĿʵս£ºÈçºÎ¹¹½¨ÖªÊ¶Í¼Æ×
 
Ïà¹ØÎĵµ

5GÈ˹¤ÖÇÄÜÎïÁªÍøµÄµäÐÍÓ¦ÓÃ
Éî¶ÈѧϰÔÚ×Ô¶¯¼ÝÊ»ÖеÄÓ¦ÓÃ
ͼÉñ¾­ÍøÂçÔÚ½»²æÑ§¿ÆÁìÓòµÄÓ¦ÓÃÑо¿
ÎÞÈË»úϵͳԭÀí
Ïà¹Ø¿Î³Ì

È˹¤ÖÇÄÜ¡¢»úÆ÷ѧϰ&TensorFlow
»úÆ÷ÈËÈí¼þ¿ª·¢¼¼Êõ
È˹¤ÖÇÄÜ£¬»úÆ÷ѧϰºÍÉî¶Èѧϰ
ͼÏñ´¦ÀíËã·¨·½·¨Óëʵ¼ù