WO2015178219A1 - 情報処理装置、情報処理方法、及び、プログラム - Google Patents
情報処理装置、情報処理方法、及び、プログラム Download PDFInfo
- Publication number
- WO2015178219A1 WO2015178219A1 PCT/JP2015/063269 JP2015063269W WO2015178219A1 WO 2015178219 A1 WO2015178219 A1 WO 2015178219A1 JP 2015063269 W JP2015063269 W JP 2015063269W WO 2015178219 A1 WO2015178219 A1 WO 2015178219A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- advertisement
- learning
- parameter
- user
- probability
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- the present technology relates to an information processing device, an information processing method, and a program.
- the present technology relates to an information processing device, an information processing method, and a program suitable for use in an advertisement service using a website or the like.
- the present technology has been made in view of such a situation, and enables an advertisement to be effectively presented to each user.
- it is possible to speed up the process of updating the parameters of the learning model while suppressing a decrease in the accuracy of the learning model.
- the information processing apparatus includes a learning sample based on a content of an advertisement presented to a user and a reaction result of the user with respect to the advertisement, and a first parameter based on a parameter to be updated by the learning sample.
- An advertisement selection unit that selects an advertisement to be presented to the user based on the user's response to each advertisement predicted using the parameter that is skipped according to the probability, and a presentation that controls the presentation of the selected advertisement And a control unit.
- the learning sample may include a feature amount vector including a feature amount based on a content of an advertisement presented to the user, and a label indicating a reaction result of the user with respect to the advertisement.
- the learning unit the first based on a difference between a prediction result of the user's response obtained by giving the feature vector included in the learning sample to the learning model and the label included in the learning sample.
- the update of the parameter can be skipped according to the probability of.
- the learning unit can correct the parameter update width so that the higher the first probability is, the larger the corrected value is.
- the learning model can use a plurality of the parameters, and the learning unit skips updating individually for each parameter according to a second probability that increases as the number of updates increases.
- the update width of the parameter to be updated can be corrected according to the second probability.
- the learning unit can correct the update width of the parameter so that the corrected value becomes larger as the second probability is higher.
- the advertisement selection unit based on the degree of coincidence between the search query input by the user and the keyword set for each advertisement, and the user's reaction predicted using the parameters
- the advertisement to be made can be selected.
- the information processing method is based on a learning sample based on a content of an advertisement presented to a user and a reaction result of the user with respect to the advertisement, and a parameter to be updated by the learning sample.
- An advertisement selection step for selecting an advertisement to be presented to the user based on the user's response to each advertisement predicted using the parameters whose updates are skipped according to probability, and a presentation for controlling the presentation of the selected advertisement Control steps.
- the program according to the first aspect of the present technology is based on a first probability based on a learning sample based on a content of an advertisement presented to a user and a reaction result of the user with respect to the advertisement, and a parameter to be updated by the learning sample.
- An advertisement selection step for selecting an advertisement to be presented to the user based on the user's response to each advertisement predicted using the parameter for which update is skipped, and a presentation control step for controlling the presentation of the selected advertisement Including.
- the information processing apparatus is based on the user's response to each advertisement predicted using a plurality of parameters updated while skipping individually according to the probability of increasing as the number of updates increases.
- An advertisement selection unit that selects an advertisement to be presented to the user, and a presentation control unit that controls presentation of the selected advertisement.
- the update of each parameter is updated without skipping while skipping updating individually for each parameter according to the probability.
- a learning unit that corrects the update width according to the probability can be further provided.
- the learning unit can correct the parameter update width such that the higher the probability, the larger the corrected value.
- An information processing apparatus performs online learning of a learning model using a predetermined parameter, and uses the learning sample used for the online learning and the parameter using the learning sample according to the probability based on the parameter
- the learning unit corrects the update width of the parameter according to the probability.
- the learning unit causes the updating of the parameter to be skipped according to the probability based on a difference between a prediction result obtained by giving a feature amount vector included in the learning sample to the learning model and a label included in the learning sample. be able to.
- the learning unit can correct the parameter update width such that the higher the probability, the larger the corrected value.
- An information processing unit that performs a prediction process using the learning model can be further provided.
- the information processing apparatus performs online learning of a learning model using a plurality of parameters and skips updating individually for each parameter according to the probability that the higher the number of updates, the higher the number of updates.
- a learning unit that corrects an update width of the parameter to be updated without depending on the probability.
- the learning unit can correct the parameter update width such that the higher the probability, the larger the corrected value.
- An information processing unit that performs a prediction process using the learning model can be further provided.
- the information processing method performs online learning of a learning model using a plurality of parameters, and skips updating individually for each parameter according to the probability of increasing as the number of updates increases.
- updating is performed according to a first probability based on a learning sample based on a content of an advertisement presented to a user and a reaction result of the user with respect to the advertisement, and a parameter to be updated by the learning sample.
- An advertisement to be presented to the user is selected based on the user's response to each advertisement predicted using the parameter that is skipped, and the presentation of the selected advertisement is controlled.
- An advertisement to be presented is selected and presentation of the selected advertisement is controlled.
- online learning of a learning model using a predetermined parameter is performed, and the update of the parameter using the learning sample according to the learning sample used for the online learning and the probability based on the parameter
- the parameter update width is corrected according to the probability.
- the learning model using a plurality of parameters is subjected to online learning, and the update is skipped individually for each parameter according to the probability that the higher the number of updates, the higher the number of updates.
- the update width of the parameter to be updated is corrected according to the probability.
- an advertisement can be effectively presented to each user.
- the third aspect or the fourth aspect of the present technology it is possible to speed up the process of updating the parameters of the learning model while suppressing a decrease in the accuracy of the learning model. As a result, for example, an advertisement can be effectively presented to each user.
- FIG. 1 is a block diagram illustrating an embodiment of an information processing system to which the present technology is applied. It is the figure which simplified the example of the search screen. It is a flowchart for demonstrating the process in the case of showing an advertisement to a user in conjunction with a search query. It is a flowchart for demonstrating a learning process. It is a flowchart for demonstrating a 2nd learning algorithm. It is a flowchart for demonstrating a 3rd learning algorithm. It is a flowchart for demonstrating a 4th learning algorithm. It is a block diagram which shows the structural example of a computer.
- Embodiment 2 modes for carrying out the present technology (hereinafter referred to as embodiments) will be described. The description will be given in the following order. 1. Embodiment 2. FIG. Modified example
- FIG. 1 shows an embodiment of an information processing system 1 to which the present technology is applied.
- the information processing system 1 is a system that provides a search service and a search query-linked display advertisement to a user.
- the information processing system 1 is configured to include a server 11 and a client 12.
- FIG. 1 shows an example in which the server 11 is configured by one device, it may be configured by a plurality of devices.
- the information processing system 1 includes a plurality of clients.
- the server 11 and the client 12 communicate via a network such as the Internet, for example.
- the server 11 provides a search site to the client 12, searches the search site for a website related to the search query input by the user, and causes the client 12 to present the search result. Further, the server 11 causes the client 12 to present an advertisement related to the search query together with the search result, for example.
- a search query consists of one word or a combination of two or more words.
- the server 11 is configured to include a bid part 21, an advertisement database 22, an advertisement selection part 23, a search service providing part 24, a learning sample database 25, a charging part 26, and a learning part 27.
- the bidding unit 21 registers an advertising bid entry indicating the bid content from the advertiser in the advertising database 22. Further, the bid unit 21 deletes the advertisement bid entry registered in the bid unit 21 in response to a cancellation request from the advertiser.
- the advertisement bid entry includes, for example, a keyword, advertisement insertion information, and a bid amount.
- the keyword is one word set by the advertiser for each advertisement, or a combination of one or more words.
- the degree of matching for example, complete match, partial match, etc.
- An advertisement in which the keyword is set is presented to the user.
- the advertisement with the keyword is set only when the keyword set by the advertiser and the search query entered by the user completely match and satisfy other predetermined conditions. Is presented to the user.
- the advertisement placement information includes an advertiser ID for uniquely identifying an advertiser, advertisement text that is an advertisement text displayed on a screen of a search site (hereinafter referred to as a search screen), and an advertisement displayed on the search screen.
- a search screen a screen of a search site
- an advertisement displayed on the search screen Contains the URL (Uniform Resource Locator) of the destination website when clicked by.
- URL Uniform Resource Locator
- an advertiser's website, a website for introducing an advertiser's products and services, and the like are set as the transition destination website.
- image data to be displayed on the search screen can be included in the advertisement placement information.
- the bid price indicates the amount charged to the advertiser each time the user clicks on the advertisement displayed on the search screen.
- the advertisement selection unit 23 extracts an advertisement bid entry related to the search query from the advertisement database 22.
- the advertisement selection unit 23 selects an advertisement bid entry to be used for presentation to the user from the extracted advertisement bid entries using a learning model constructed by the learning unit 27 in order to predict a click rate for each advertisement. To do.
- the advertisement selection unit 23 creates an advertisement list composed of advertisement placement information included in the selected advertisement bid entry, and supplies the created advertisement list to the search service providing unit 24.
- the search service providing unit 24 displays a search screen on the client 12 in accordance with a request from the client 12.
- the search service providing unit 24 receives the search query input on the search screen from the client 12 and searches for a website related to the received search query.
- the search service providing unit 24 transmits the advertisement list acquired from the advertisement selecting unit 23 to the client 12 together with the search result, and presents the search result and advertisement of the website related to the search query input by the user to the user.
- the client 12 is controlled.
- the search service providing unit 24 receives the user input content on the search screen from the client 12, and determines whether or not the user has clicked on the advertisement displayed on the search screen based on the user input content. Then, the search service providing unit 24 creates a learning sample including a label indicating whether or not an advertisement has been clicked and a feature quantity vector representing the feature of the advertisement, and stores the learning sample in the learning sample database 25.
- the charging unit 26 periodically acquires the update information of the learning sample database 25, and calculates the advertisement fee charged to each advertiser based on the advertisement bid entry registered in the advertisement database 22.
- the advertisement fee is calculated by, for example, bid amount ⁇ click count for each advertisement.
- the billing unit 26 transmits billing information including the calculated advertisement fee to each advertiser.
- the learning unit 27 periodically acquires a predetermined amount of learning samples from the learning sample database 25 and learns the learning model.
- the learning unit 27 supplies the parameters of the learning model obtained as a result of learning to the advertisement selection unit 23.
- FIG. 2 shows an example in which the search screen displayed on the client 12 is simplified.
- a text box 101 a search button 102, a search result display space 103, and an advertisement frame 104 are arranged.
- a search query is input by the user.
- the client 12 transmits the search query input in the text box 101 to the server 11.
- “TV” is input as a search query.
- the search result display space 103 displays the search results of the website related to the search query entered by the user. For example, the search result display space 103 displays a list of titles, URLs, outlines, part of contents, etc. of each website related to the search query.
- advertisement display spaces 105a to 105c for displaying advertisements to be presented in conjunction with the search query input by the user are arranged.
- advertisements related to the search query input by the user and selected by the server 11 are displayed.
- the advertisement display spaces 105a to 105c are simply referred to as the advertisement display space 105 when it is not necessary to distinguish them individually.
- the number of advertisements that can be displayed in the advertisement space 104 is limited. Therefore, for example, among advertisements extracted based on the search query, a predetermined number of advertisements are displayed in the advertisement space 104 in descending order of bid amount ⁇ click rate value. However, since the click rate of each advertisement cannot be known in advance, a learning model for predicting the click rate is used.
- the prediction accuracy of the click rate greatly affects the sales of the search service
- the learning model parameter update frequency is increased, the time given to one learning process is shortened. Further, as the number of learning samples increases, the time required for one learning process becomes longer.
- the server 11 speeds up the process of updating the parameters of the learning model while suppressing a decrease in the accuracy of the learning model.
- step S1 the client 12 transmits the search query input by the user to the server 11.
- step S2 the search service providing unit 24 of the server 11 receives the search query transmitted by the client 12.
- step S3 the server 11 extracts advertisement bid entries related to the search query.
- the search service providing unit 24 generates advertisement list request information including the search query received from the client 12 and supplies the advertisement list request information to the advertisement selection unit 23.
- the advertisement selection unit 23 extracts an advertisement bid entry satisfying a predetermined condition from the advertisement database 22 based on the search query. For example, the advertisement selection unit 23 extracts an advertisement bid entry whose set keyword completely matches the search query from the advertisement database 22.
- condition for extracting the advertisement bid entry based on the search query can be set to any condition other than the above.
- step S4 the advertisement selection unit 23 creates a feature vector of each extracted advertisement bid entry.
- the advertisement selection unit 23 holds an advertisement text word dictionary, a keyword dictionary, and an advertiser ID dictionary in advance.
- the entry in the advertising text word dictionary is, for example, a word that can be used in the advertising text.
- the keyword dictionary entry is, for example, a word that can be used as a keyword.
- the entry in the advertiser ID dictionary is, for example, the advertiser ID of each advertiser. Further, for example, a serial number starting from 1 is assigned to each entry as an entry ID so that each entry in the same dictionary can be uniquely identified.
- the advertisement selection unit 23 generates a feature quantity vector including feature quantities corresponding to each entry in the advertisement text word dictionary and each entry in the keyword dictionary for each advertisement bid entry.
- the feature amount of each advertisement bid entry is also referred to as an advertisement feature amount corresponding to the advertisement bid entry.
- step S5 the advertisement selection unit 23 predicts a click rate for each advertisement based on the learning model and the feature amount vector. That is, the advertisement selection unit 23 gives the feature amount vector of each advertisement bid entry to the learning model for predicting the click rate. Thereby, a predicted click rate for an advertisement corresponding to each advertisement bid entry (hereinafter referred to as a click rate predicted value) is calculated.
- a click rate predicted value A learning model learning method will be described later.
- step S6 the advertisement selection unit 23 selects an advertisement to be presented to the user based on the bid amount and the click rate prediction value. Specifically, the advertisement selection unit 23 calculates a bid amount ⁇ click rate prediction value for each advertisement bid entry. Then, when presenting N advertisements on the search screen, the advertisement selection unit 23 selects N advertisement bid entries (corresponding advertisements) in descending order of the bid amount ⁇ click rate predicted value.
- step S7 the advertisement selection unit 23 creates an advertisement list. That is, the advertisement selection unit 23 creates an advertisement list including advertisement placement information included in each advertisement bid list selected in the process of step S6. The advertisement selection unit 23 supplies the created advertisement list to the search service providing unit 24.
- step S8 the search service providing unit 24 transmits the search result and the advertisement list to the client 12. That is, the search service providing unit 24 transmits to the client 12 the search result of the website related to the search query input by the user and the advertisement list supplied from the advertisement selecting unit 23.
- the search result of the website includes, for example, the title, URL, summary, part of the contents, etc. of the website related to the search query.
- step S9 the client 12 receives the search result and the advertisement list transmitted from the server 11 in the process of step S8.
- step S10 the client 12 presents the search result and the advertisement to the user. That is, the client 12 displays the search result received from the server 11 in the search result display space 103 of the search screen in FIG. Further, the client 12 displays the advertisement text and the transition destination URL included in the advertisement placement information in the advertisement list received from the server 11 in each advertisement display space 105 of the search screen of FIG. At this time, for example, an advertisement having a larger value of bid amount ⁇ click rate prediction value is displayed in the upper advertisement display space 105 in the screen.
- step S11 the client 12 acquires a user input to the search screen.
- step S12 the client 12 transmits the contents of the user input, and the processing of the client 12 ends.
- step S13 the search service providing unit 24 receives the content of the user input transmitted from the client 12.
- step S14 the search service providing unit 24 stores the learning sample in the learning sample database 25, and the processing of the server 11 ends. Specifically, for each advertisement displayed in each advertisement display space 105 on the search screen, the search service providing unit 24 uses a label y indicating whether or not the advertisement is clicked and a feature quantity vector X of the advertisement. A learning sample (y, X) is generated.
- the search service providing unit 24 determines that the advertisement in the advertisement display space 105 of the search site is clicked by the user based on the content of the user input received from the client 12, the value of the label y is set to 1. Set.
- the search service providing unit 24 determines, based on the content of the user input received from the client 12, that the display of the advertisement is completed without the user clicking on the advertisement in the advertisement display space 105 of the search site. , The value of label y is set to 0.
- the search service providing unit 24 accumulates the generated learning sample (y, X) in the learning sample database 25.
- an advertisement corresponding to the search query input by the user is displayed on the search screen of the client 12. Further, a learning sample (y, X) including a label y indicating whether or not the displayed advertisement is clicked and a feature quantity vector X of the advertisement is accumulated.
- step S ⁇ b> 51 the learning unit 27 reads a predetermined number of learning samples from the learning sample database 25.
- the learning unit 27 reads the latest N learning samples from the learning sample database 25.
- the i-th learning sample from the oldest of the read learning samples is defined as (y i , X i ). Accordingly, among the read learning samples, the oldest learning sample is (y 1 , X 1 ), and the latest learning sample is (y N , X N ).
- step S52 the learning unit 27 learns the parameters of the learning model using the learning sample.
- the learning model is expressed by the following equations (1) and (2).
- ⁇ () is a sigmoid function
- W is a vector (hereinafter referred to as a parameter vector) composed of M-dimensional parameters corresponding to each feature quantity of the feature quantity vector X i .
- Expression (1) is an expression for calculating the probability that the advertisement of the feature amount vector X i is clicked
- Expression (2) is an expression for calculating the probability that the advertisement of the feature amount vector X i is not clicked. .
- the learning unit 27 obtains a parameter vector W that minimizes the loss function L (W; D) of the learning model expressed by the following equations (3) and (4) by online learning.
- the learning algorithm for calculating the parameter vector W for example, the following first to fourth learning algorithms using the stochastic gradient descent method can be employed.
- the first learning algorithm will be described.
- the parameter vector W N finally obtained is returned as a learning result.
- step S101 the learning unit 27 initializes parameters. That is, the learning unit 27 sets the value of each parameter of the initial vector W 0 of the parameter vector W to 0 .
- step S102 the learning unit 27 sets the value of the variable i to 1.
- step S103 the learning unit 27 calculates the update width q by the following equation (6).
- This update width q is the click rate prediction value when the feature amount X i of the i-th learning sample is given to the learning model using each parameter of the parameter vector W i ⁇ 1 , and the label y of the i-th learning sample. It is equal to the difference with i . That is, the update width q is equal to the error of the click rate prediction value for the advertisement of the feature vector X i when each parameter of the parameter vector W i ⁇ 1 is used.
- step S104 the learning unit 27 generates a random number r of 0 or more and 1 or less.
- step S105 the learning unit 27 determines whether or not the update width q> the random number r. If it is determined that the update width q> the random number r, the process proceeds to step S106.
- step S106 the learning unit 27 updates the parameters. Specifically, the learning unit 27 calculates the parameter vector W i by the following equation (7).
- Expression (7) is obtained by dividing the second term on the right side of Expression (5) in the first learning algorithm by the update width q. Therefore, update width of each parameter in the parameter vector W i is corrected by the inverse of update width q. That is, the update width of each parameter after correction decreases as the update width q increases, and increases as the update width q decreases. Thereby, the influence of parameter update is weakened as the learning sample has a larger update width q.
- step S105 determines whether the update width q ⁇ random number r. If it is determined in step S105 that the update width q ⁇ random number r, the process proceeds to step S107.
- step S107 the learning unit 27 skips the parameter update. Specifically, the learning unit 27, by the following equation (8), the parameter vector W i-1 was determined using the i-1 th training sample is assigned to the parameter vector W i without directly updating.
- the probability that the parameter is updated increases as the update width q increases, and the probability that the parameter update is skipped increases as the update width q decreases.
- step S108 the learning unit 27 increments the value of the variable i by one.
- step S109 the learning unit 27 determines whether or not the value of the variable i is larger than the learning sample number N. If it is determined that the value of the variable i is equal to or less than the learning sample number N, the process returns to step S103.
- steps S103 to S109 are repeatedly executed until it is determined in step S109 that the value of the variable i is larger than the learning sample number N.
- step S109 when it is determined in step S109 that the value of the variable i is larger than the learning sample number N, the parameter learning process ends. Then, the finally obtained parameter vector W N is returned as a learning result.
- learning samples having a large update width q and a large learning effect are preferentially used, and learning samples having a small update width q and a small learning effect are preferentially thinned, thereby efficiently.
- the learning model parameters can be updated.
- the random number r it is possible to prevent only learning samples having a large update width q from being used and learning samples having a small update width q from being used.
- the update width of each parameter is set such that the corrected value decreases as the update width q increases, and the corrected value increases as the update width q decreases. It is corrected.
- the update range of each parameter is set so that the corrected value decreases as the probability that parameter update is skipped is low, and the corrected value increases as the probability that parameter update is skipped is high. It is corrected. Thereby, it is suppressed that the difference between the learning effect by the learning sample having a large update width q with a low probability of skipping and the learning effect by the learning sample having a small update width q having a high skipping probability is excessive.
- update width q it may be determined whether to update the parameter using a monotonically increasing function of the update width q.
- the value of the function f in the following equation (9) is compared with the random number r instead of the update width q. Thus, it may be determined whether to update the parameter.
- step S152 the learning unit 27 sets the value of the variable i to 1.
- step S153 the learning unit 27 sets the value of the variable j to 1.
- step S154 the learning unit 27 determines whether or not the value of the feature value x i, j is 0. Note that the feature value x i, j is the j- th feature value of the feature value vector X i of the i-th learning sample. If it is determined that the value of the feature quantity x i, j is not 0, the process proceeds to step S155.
- step S155 the learning unit 27 updates the parameters w i, j .
- the parameter w i, j is the j- th parameter of the parameter vector W i .
- the learning unit 27 calculates the value of the parameter w i, j by the following equation (10).
- the value of the parameter w i, j is obtained by adding the value of the second term of the equation (10) to the value of the parameter w i ⁇ 1, j calculated based on the i ⁇ 1th learning sample. can get.
- ⁇ ⁇ 1 / (1 + c j ) in the second term becomes the learning rate.
- ⁇ is a constant similar to ⁇ in Equation (5).
- step S156 the learning unit 27 increments the update count c j by one.
- step S154 determines whether the value of the feature quantity x i, j is 0, the process proceeds to step S157.
- step S157 the learning unit 27 skips updating the parameters w i, j . That is, the learning unit 27 substitutes the value of the parameter w i ⁇ 1, j obtained for the i ⁇ 1th learning sample as it is into the parameter w i, j as it is by the following equation (11).
- step S158 the learning unit 27 increments the value of the variable j by one.
- step S159 the learning unit 27 determines whether or not the value of the variable j is larger than the dimension number M of the parameter vector. If it is determined that the value of the variable j is less than or equal to the dimension number M of the parameter vector, the process returns to step S154.
- steps S154 to S159 are repeatedly executed until it is determined in step S159 that the value of the variable j is larger than the dimension number M of the parameter vector. Thereby, the value of each parameter w i, j of the parameter vector W i is obtained.
- step S159 if it is determined in step S159 that the value of the variable j is greater than the dimension number M of the parameter vector, the process proceeds to step S160.
- step S160 the learning unit 27 increments the value of the variable i by one.
- step S161 the learning unit 27 determines whether or not the value of the variable i is larger than the learning sample number N. When it is determined that the value of the variable i is equal to or less than the learning sample number N, the process returns to step S153.
- steps S153 to S161 are repeatedly executed until it is determined in step S161 that the value of the variable i is larger than the learning sample number N. That is, the parameter vector is updated using all the N learning samples.
- the value of the update count c j increases by one, and as a result, the learning rate ⁇ ⁇ 1 / (1 + c j ) decreases. .
- step S161 when it is determined in step S161 that the value of the variable i is larger than the learning sample number N, the parameter learning process ends. Then, the finally obtained parameter vector W N is returned as a learning result.
- the learning rate is not a constant common to parameters of all dimensions of the parameter vector, but is adjusted for each parameter of each dimension. That is, the learning rate corresponding to the parameter of each dimension is adjusted so as to decrease as the number of updates of the corresponding parameter increases. As a result, the learning result is stabilized.
- step S201 the parameters and the number of updates are initialized in the same manner as in step S151 of FIG.
- step S202 the learning unit 27 sets the value of the variable i to 1.
- step S203 the learning unit 27 sets the value of the variable j to 1.
- step S204 the learning unit 27 generates a random number r of 0 or more and 1 or less.
- step S205 as in step S154 of FIG. 6, the feature x i, it is determined whether the value of j is 0, the feature x i, if the value of j is not 0 determined The process proceeds to step S206.
- step S206 the learning unit 27 calculates the value of the function f of the following equation (12).
- the function f is a monotonically decreasing function that decreases as the number of updates c j increases.
- step S207 the learning unit 27 determines whether the value of the function f is larger than the random number r. If it is determined that the value of the function f is greater than the random number r, the process proceeds to step S208.
- step S208 the learning unit 27 updates the parameters w i, j . That is, the learning unit 27 calculates the value of the parameter w i, j by the following equation (13).
- Expression (13) is obtained by dividing the second term on the right side of Expression (10) by the value of the function f. That is, the update width of the parameter w i, j is corrected by the inverse of the function f. Accordingly, the update width of the corrected parameter w i, j decreases as the value of the function f increases, and increases as the value of the function f decreases. Thereby, the influence of parameter update is weakened as the number of updates increases.
- step S209 the learning unit 27 increments the update count c j by one.
- step S205 if it is determined in step S205 that the value of the feature quantity x i, j is 0, or if it is determined in step S207 that the value of the function f is equal to or less than the random number r, the process proceeds to step S210. Proceed to
- step S210 the update of the parameters w i, j is skipped as in the process of step S157 in FIG.
- step S211 the learning unit 27 increments the value of the variable j by one.
- step S212 the learning unit 27 determines whether or not the value of the variable j is larger than the dimension number M of the parameter vector. If it is determined that the value of the variable j is less than or equal to the dimension number M of the parameter vector, the process returns to step S205.
- steps S205 to S212 are repeatedly executed until it is determined in step S212 that the value of the variable j is larger than the dimension number M of the parameter vector. Thereby, the value of each parameter w i, j of the parameter vector W i is obtained.
- step S212 if it is determined in step S212 that the value of the variable j is larger than the dimension number M of the parameter vector, the process proceeds to step S213.
- step S213 the learning unit 27 increments the value of the variable i by one.
- step S214 the learning unit 27 determines whether or not the value of the variable i is larger than the learning sample number N. If it is determined that the value of the variable i is equal to or less than the learning sample number N, the process returns to step S203.
- steps S203 to S214 is repeatedly executed until it is determined in step S214 that the value of the variable i is larger than the learning sample number N.
- step S214 when it is determined in step S214 that the value of the variable i is larger than the learning sample number N, the parameter learning process ends. Then, the finally obtained parameter vector W N is returned as a learning result.
- the learning result can be stabilized for the same reason as in the third learning algorithm.
- updating with a larger number of updates is easier to skip, and updating with a smaller number of updates is easier.
- the random number r it is possible to prevent a parameter with a large number of updates from being updated at all, or a parameter with a small number of updates from being skipped at all. Accordingly, it is possible to moderately distribute the learning samples used for updating each parameter while reducing the variation in the number of times each parameter is updated.
- each parameter is updated so that the corrected value decreases as the value of the function f increases, and the corrected value increases as the value of the function f decreases.
- the width is corrected.
- the update range of each parameter is set so that the corrected value decreases as the probability that parameter update is skipped is low, and the corrected value increases as the probability that parameter update is skipped is high. It is corrected.
- the difference between the learning effect of the first learning sample with a low probability of skipping the update and the learning effect of the later learning sample with a high probability of skipping the update is suppressed from becoming too large. .
- the second learning algorithm and the fourth learning algorithm can be combined.
- step S53 the server 11 updates the parameters of the learning model. That is, the learning unit 27 supplies the parameter learned in the process of step S52 to the advertisement selection unit 23. The advertisement selection unit 23 updates the learning model parameters to the supplied parameters.
- the present technology can be applied to an advertisement service in a form different from the form described above.
- the present invention can be applied to an advertisement service that presents advertisements based on user preferences or the like regardless of search queries.
- the present invention can be applied to an advertising service other than the method of displaying on a website, for example, an advertising service using e-mail.
- the label used for the learning sample is not limited to the one indicating whether or not the user has clicked on the advertisement, but can be changed to one indicating the reaction of other users depending on the form of the advertisement or the like. .
- advertisements to be presented may be selected based on other conditions. For example, it is possible to select an advertisement to be presented based only on the click rate without using a bid amount, or to select an advertisement to be presented based on user preferences and the like.
- the present technology can also be applied to other online learning algorithms using a loss function composed of a convex function.
- a loss function composed of a convex function.
- PA Passive Aggressive
- the present technology can be applied to various learning models in which parameters can be updated by online learning using a loss function composed of a convex function.
- learning models for prediction processes, such as various pattern recognition.
- this technology is a spam mail filter learning model for detecting spam mail, a learning model for determining whether the sensor value of a large-scale sensor system is abnormal, or a message that is urgent in social networking services
- the present invention can be applied to the construction of learning models or the like for classifying whether or not and prediction processing using those learning models.
- Such prediction processing is executed by, for example, an information processing unit such as the advertisement selection unit 23 in FIG.
- the series of processes described above can be executed by hardware or can be executed by software.
- a program constituting the software is installed in the computer.
- the computer includes, for example, a general-purpose personal computer capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.
- FIG. 8 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- An input / output interface 305 is further connected to the bus 304.
- An input unit 306, an output unit 307, a storage unit 308, a communication unit 309, and a drive 310 are connected to the input / output interface 305.
- the input unit 306 includes a keyboard, a mouse, a microphone, and the like.
- the output unit 307 includes a display, a speaker, and the like.
- the storage unit 308 includes a hard disk, a nonvolatile memory, and the like.
- the communication unit 309 includes a network interface and the like.
- the drive 310 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 301 loads the program stored in the storage unit 308 to the RAM 303 via the input / output interface 305 and the bus 304 and executes the program, for example. Is performed.
- the program executed by the computer (CPU 301) can be provided by being recorded on the removable medium 311 as a package medium or the like, for example.
- the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
- the program can be installed in the storage unit 308 via the input / output interface 305 by attaching the removable medium 311 to the drive 310. Further, the program can be received by the communication unit 309 via a wired or wireless transmission medium and installed in the storage unit 308. In addition, the program can be installed in advance in the ROM 302 or the storage unit 308.
- the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
- the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
- each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
- the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
- the present technology can take the following configurations.
- the learning sample includes a feature amount vector including a feature amount based on the content of an advertisement presented to the user, and a label indicating a reaction result of the user with respect to the advertisement.
- the information processing apparatus further comprising: a learning unit that corrects an update width of the parameter according to the first probability.
- the learning unit includes the first based on a difference between a prediction result of the user response obtained by providing the learning model with the feature vector included in the learning sample and the label included in the learning sample.
- the information processing apparatus according to (2), wherein the parameter update is skipped according to a probability.
- the information processing apparatus according to (2) or (3), wherein the learning unit corrects the update width of the parameter so that the corrected value increases as the first probability increases.
- the learning model uses a plurality of the parameters, The learning unit skips updating individually for each parameter according to a second probability that increases as the number of updates increases, and corrects the update width of the parameter to be updated without skipping according to the second probability
- the information processing apparatus according to any one of (2) to (4).
- the advertisement selection unit presents to the user based on the degree of matching between a search query input by the user and a keyword set in each advertisement, and the user's reaction predicted using the parameters.
- the information processing apparatus according to any one of (1) to (6), wherein an advertisement is selected.
- An advertisement selection unit that selects an advertisement to be presented to the user based on the user's response to each advertisement predicted using a plurality of parameters that are updated while skipping individually according to the probability that the number of updates increases.
- An information processing apparatus comprising: a presentation control unit that controls presentation of a selected advertisement.
- An information processing apparatus comprising: a learning unit that corrects an update width of the parameter in accordance with the probability when updating. (14) The learning unit skips updating of the parameter according to the probability based on a difference between a prediction result obtained by giving a feature amount vector included in the learning sample to the learning model and a label included in the learning sample.
- the information processing apparatus according to (13).
- the information processing apparatus according to any one of (13) to (15), further including an information processing unit that performs a prediction process using the learning model.
- (17) While performing online learning of a learning model using a plurality of parameters and skipping updating individually for each parameter according to the probability of increasing as the number of updates increases, the update width of the parameter to be updated without skipping is the probability
- An information processing apparatus comprising a learning unit that performs correction according to the conditions.
- the learning unit corrects the update width of the parameter so that the corrected value increases as the probability increases.
- the information processing apparatus according to (17) or (18), further including an information processing unit that performs a prediction process using the learning model.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本技術は、各ユーザに対して効果的に広告を提示することができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。 広告選択部は、ユーザに提示した広告の内容及び広告に対するユーザの反応結果に基づく学習サンプルと、学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされるパラメータを用いて予測される各広告に対するユーザの反応に基づいて、ユーザに提示する広告を選択する。提示制御部は、選択された広告の提示を制御する。本技術は、例えば、広告サービスを提供するサーバに適用できる。
Description
本技術は、情報処理装置、情報処理方法、及び、プログラムに関し、例えば、ウエブサイト等を用いた広告サービスに用いて好適な情報処理装置、情報処理方法、及び、プログラムに関する。
従来、ウエブサイトやメール等を用いた広告サービスにおいて、各ユーザに効果的に広告を提示するために、各広告に対するユーザの反応率を予測する学習モデルが用いられている(例えば、特許文献1参照)。
そのような学習モデルの精度を一定のレベル以上に維持するためには、定期的に学習処理を行い、学習モデルのパラメータを更新する必要がある。しかしながら、学習データのサンプル数が多くなると、学習時間が長くなり、要求時間内に処理が終わらないおそれがある。
一方、学習時間を短縮するために単純に使用する学習データのサンプル数を減らすと、学習モデルの精度が低下するおそれがある。その結果、各ユーザに対して効果的に広告を提示することが困難になる。
本技術はこのような状況に鑑みてなされたものであり、各ユーザに対して効果的に広告を提示できるようにするものである。また、学習モデルの精度の低下を抑制しつつ、学習モデルのパラメータの更新処理を高速化できるようにするものである。
本技術の第1の側面の情報処理装置は、ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択部と、選択された広告の提示を制御する提示制御部とを備える。
前記学習サンプルには、前記ユーザに提示した広告の内容に基づく特徴量を含む特徴量ベクトル、及び、前記広告に対する前記ユーザの反応結果を示すラベルを含ませることができ、前記パラメータを用いて各広告に対する前記ユーザの反応を予測する学習モデルのオンライン学習を行うとともに、前記第1の確率に従って前記パラメータの更新をスキップする一方、スキップせずに前記パラメータの更新を行う場合、前記第1の確率に応じて前記パラメータの更新幅を補正する学習部をさらに設けることができる。
前記学習部には、前記学習サンプルに含まれる前記特徴量ベクトルを前記学習モデルに与えることにより得られる前記ユーザの反応の予測結果と前記学習サンプルに含まれる前記ラベルとの差に基づく前記第1の確率に従って前記パラメータの更新をスキップさせることができる。
前記学習部には、前記第1の確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正させることができる。
前記学習モデルには、複数の前記パラメータを用いることができ、前記学習部には、更新回数が多いほど高くなる第2の確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記第2の確率に応じて補正させることができる。
前記学習部には、前記第2の確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正させることができる。
前記広告選択部には、前記ユーザにより入力される検索クエリと各広告に設定されたキーワードとの一致度、及び、前記パラメータを用いて予測される前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択させることができる。
本技術の第1の側面の情報処理方法は、ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択ステップと、選択された広告の提示を制御する提示制御ステップとを含む。
本技術の第1の側面のプログラムは、ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択ステップと、選択された広告の提示を制御する提示制御ステップとを含む。
本技術の第2の側面の情報処理装置は、更新回数が多いほど高くなる確率に従って個別にスキップしながら更新される複数のパラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択部と、選択された広告の提示を制御する提示制御部とを備える。
複数の前記パラメータを用いて各広告に対する前記ユーザの反応を予測する学習モデルのオンライン学習を行うとともに、前記確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習部をさらに設けることができる。
前記学習部には、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正させることができる。
本技術の第3の側面の情報処理装置は、所定のパラメータを用いた学習モデルのオンライン学習を行うとともに、前記オンライン学習に用いる学習サンプル及び前記パラメータに基づく確率に従って前記学習サンプルを用いた前記パラメータの更新をスキップする一方、スキップせずに前記パラメータの更新を行う場合に、前記確率に応じて前記パラメータの更新幅を補正する学習部を備える。
前記学習部には、前記学習サンプルに含まれる特徴量ベクトルを前記学習モデルに与えることにより得られる予測結果と前記学習サンプルに含まれるラベルとの差に基づく前記確率に従って前記パラメータの更新をスキップさせることができる。
前記学習部には、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正させることができる。
前記学習モデルを用いた予測処理を行う情報処理部をさらに設けることができる。
本技術の第4の側面の情報処理装置は、複数のパラメータを用いた学習モデルのオンライン学習を行うとともに、更新回数が多いほど高くなる確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習部を備える。
前記学習部には、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正させることができる。
前記学習モデルを用いた予測処理を行う情報処理部をさらに設けることができる。
本技術の第4の側面の情報処理方法は、複数のパラメータを用いた学習モデルのオンライン学習を行うとともに、更新回数が多いほど高くなる確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習ステップを含む。
本技術の第1の側面においては、ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告が選択され、選択された広告の提示が制御される。
本技術の第2の側面においては、更新回数が多いほど高くなる確率に従って個別にスキップしながら更新される複数のパラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告が選択され、選択された広告の提示が制御される。
本技術の第3の側面においては、所定のパラメータを用いた学習モデルのオンライン学習が行われるとともに、前記オンライン学習に用いる学習サンプル及び前記パラメータに基づく確率に従って前記学習サンプルを用いた前記パラメータの更新がスキップされる一方、スキップせずに前記パラメータの更新を行う場合に、前記確率に応じて前記パラメータの更新幅が補正される。
本技術の第4の側面においては、複数のパラメータを用いた学習モデルのオンライン学習が行われるとともに、更新回数が多いほど高くなる確率に従って前記パラメータ毎に個別に更新がスキップされる一方、スキップせずに更新する前記パラメータの更新幅が前記確率に応じて補正される。
本技術の第1の側面又は第2の側面によれば、各ユーザに対して効果的に広告を提示することができる。
また、本技術の第3の側面又は第4の側面によれば、学習モデルの精度の低下を抑制しつつ、学習モデルのパラメータの更新処理を高速化することができる。その結果、例えば、各ユーザに対して効果的に広告を提示することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
以下、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.実施の形態
2.変形例
1.実施の形態
2.変形例
<1.第1の実施の形態>
{情報処理システム1の構成例}
図1は、本技術を適用した情報処理システム1の一実施の形態を示している。
{情報処理システム1の構成例}
図1は、本技術を適用した情報処理システム1の一実施の形態を示している。
情報処理システム1は、検索サービス、及び、検索クエリ連動型のディスプレイ広告をユーザに提供するシステムである。情報処理システム1は、サーバ11及びクライアント12を含むように構成される。
なお、図1では、サーバ11を1つの装置で構成した例を示しているが、複数の装置で構成することも可能である。また、図1では、図を分かりやすくするために、クライアント12を1つのみ図示しているが、実際には、情報処理システム1は、複数のクライアントを含む。さらに、図示を省略しているが、サーバ11とクライアント12とは、例えば、インターネット等のネットワークを介して通信を行う。
サーバ11は、例えば、クライアント12に対して検索サイトを提供し、検索サイトにおいてユーザが入力した検索クエリに関連するウエブサイトを検索し、検索結果をクライアント12に提示させる。また、サーバ11は、例えば、検索クエリに関連する広告を、検索結果とともにクライアント12に提示させる。なお、検索クエリは、1つの単語、又は、2以上の単語の組み合わせからなる。
サーバ11は、入札部21、広告データベース22、広告選択部23、検索サービス提供部24、学習サンプルデータベース25、課金部26、及び、学習部27を含むように構成される。
入札部21は、広告主からの入札内容を示す広告入札エントリを広告データベース22に登録する。また、入札部21は、広告主からの取り消し依頼に応じて、入札部21に登録されている広告入札エントリを消去する。広告入札エントリは、例えば、キーワード、広告掲載情報、及び、入札金額を含む。
ここで、キーワードとは、広告主が各広告に対して設定する1つの単語、又は、1以上の単語の組み合わせである。そして、例えば、広告主が設定したキーワードとユーザが入力した検索クエリとの一致度(例えば、完全一致、部分一致等)が所定のレベル以上であり、かつ、所定の他の条件を満たす場合、そのキーワードが設定された広告がユーザに提示される。なお、以下、説明を簡単にするために、広告主が設定したキーワードとユーザが入力した検索クエリとが完全一致し、かつ、所定の他の条件を満たす場合のみ、そのキーワードが設定された広告がユーザに提示されるものとする。
広告掲載情報は、広告主を一意に識別するための広告主ID、検索サイトの画面(以下、検索画面と称する)に表示する広告文である広告テキスト、及び、検索画面に表示した広告がユーザによりクリックされた場合の遷移先のウエブサイトのURL(Uniform Resource Locator)を含む。遷移先のウエブサイトには、例えば、広告主のウエブサイトや、広告主の商品やサービス等を紹介するウエブサイト等が設定される。また、例えば、広告テキスト以外に、検索画面に表示する画像データ等を広告掲載情報に含めることも可能である。
入札金額は、検索画面に表示された広告がユーザによりクリックされる毎に広告主に課金される金額を示す。
広告選択部23は、ユーザにより入力された検索クエリを含む広告リスト要求情報が検索サービス提供部24から供給された場合、検索クエリに関連する広告入札エントリを広告データベース22から抽出する。また、広告選択部23は、各広告に対するクリック率を予測するために学習部27により構築される学習モデルを用いて、抽出した広告入札エントリの中からユーザへの提示に用いる広告入札エントリを選択する。広告選択部23は、選択した広告入札エントリに含まれる広告掲載情報からなる広告リストを作成し、作成した広告リストを検索サービス提供部24に供給する。
検索サービス提供部24は、クライアント12からの要求に従って検索画面をクライアント12に表示させる。また、検索サービス提供部24は、検索画面において入力された検索クエリをクライアント12から受信し、受信した検索クエリに関連するウエブサイトを検索する。そして、検索サービス提供部24は、広告選択部23から取得した広告リストを検索結果とともにクライアント12に送信し、ユーザが入力した検索クエリに関連するウエブサイトの検索結果及び広告をユーザに提示するようにクライアント12を制御する。
また、検索サービス提供部24は、検索画面に対するユーザの入力内容をクライアント12から受信し、ユーザの入力内容に基づいて、検索画面に表示した広告をユーザがクリックしたか否かを判定する。そして、検索サービス提供部24は、広告がクリックされた否かを示すラベル、及び、その広告の特徴を表す特徴量ベクトルを含む学習サンプルを作成し、学習サンプルデータベース25に蓄積する。
課金部26は、定期的に学習サンプルデータベース25の更新情報を取得し、広告データベース22に登録されている広告入札エントリに基づいて、各広告主に請求する広告料を計算する。広告料は、例えば、各広告について、入札額×クリック回数により計算される。課金部26は、計算した広告料を含む課金情報を各広告主に送信する。
学習部27は、定期的に所定量の学習サンプルを学習サンプルデータベース25から取得し、学習モデルの学習を行う。学習部27は、学習の結果得られた学習モデルのパラメータを広告選択部23に供給する。
{検索画面の例}
図2は、クライアント12に表示される検索画面を単純化した例を示している。この検索画面内には、テキストボックス101、検索ボタン102、検索結果表示スペース103、及び、広告枠104が配置されている。
図2は、クライアント12に表示される検索画面を単純化した例を示している。この検索画面内には、テキストボックス101、検索ボタン102、検索結果表示スペース103、及び、広告枠104が配置されている。
テキストボックス101には、ユーザにより検索クエリが入力される。そして、検索ボタン102が押下されたとき、クライアント12は、テキストボックス101に入力された検索クエリをサーバ11に送信する。ここでは、検索クエリとして「テレビ」が入力された例が示されている。
検索結果表示スペース103には、ユーザにより入力された検索クエリに関連するウエブサイトの検索結果が表示される。例えば、検索結果表示スペース103には、検索クエリに関連する各ウエブサイトのタイトル、URL、概要、内容の一部等が一覧表示される。
広告枠104内には、ユーザにより入力された検索クエリに連動して提示する広告を表示するための広告表示スペース105a乃至105cが配置されている。広告表示スペース105a乃至105cには、ユーザにより入力された検索クエリに関連し、かつ、サーバ11により選択された広告が表示される。
なお、以下、広告表示スペース105a乃至105cを個々に区別する必要がない場合、単に広告表示スペース105と称する。
ここで、広告枠104内に表示可能な広告数には限りがある。そこで、例えば、検索クエリに基づいて抽出された広告のうち、入札額×クリック率の値が高い順に所定数の広告が広告枠104に表示される。しかし、各広告のクリック率は事前に知ることができないため、クリック率を予測するための学習モデルが用いられる。
このクリック率の予測精度は検索サービスの売り上げに大きく影響するため、より精度が高い学習モデルの構築し、クリック率の予測精度を上げ、各ユーザに効果的に広告を提示することが望まれる。従って、できる限り各ユーザの最新のクリック行動を学習モデルに反映させることが望ましい。そのためには、例えば、学習モデルのパラメータの更新頻度を上げたり、学習サンプルをより多く用いたりするのが望ましい。
一方、学習モデルのパラメータの更新頻度を上げるほど、1回の学習処理に与えられる時間が短くなる。また、学習サンプル数が多くなるほど、1回の学習処理に要する時間が長くなる。
そこで、サーバ11は、以下に説明するように、学習モデルの精度の低下を抑制しつつ、学習モデルのパラメータの更新処理を高速化する。
{情報処理システム1の処理}
ここで、図3乃至図7を参照して、情報処理システム1により実行される処理について説明する。
ここで、図3乃至図7を参照して、情報処理システム1により実行される処理について説明する。
(検索クエリに連動した広告提示処理)
まず、図3のフローチャートを参照して、情報処理システム1が、ユーザにより入力された検索クエリに連動して広告をユーザに提示する場合の処理について説明する。なお、この処理は、例えば、ユーザが図2の検索画面のテキストボックス101に検索クエリを入力し、検索ボタン102を押下したとき開始される。
まず、図3のフローチャートを参照して、情報処理システム1が、ユーザにより入力された検索クエリに連動して広告をユーザに提示する場合の処理について説明する。なお、この処理は、例えば、ユーザが図2の検索画面のテキストボックス101に検索クエリを入力し、検索ボタン102を押下したとき開始される。
ステップS1において、クライアント12は、ユーザにより入力された検索クエリをサーバ11に送信する。
ステップS2において、サーバ11の検索サービス提供部24は、クライアント12が送信した検索クエリを受信する。
ステップS3において、サーバ11は、検索クエリに関連する広告入札エントリを抽出する。具体的には、検索サービス提供部24は、クライアント12から受信した検索クエリを含む広告リスト要求情報を生成し、広告選択部23に供給する。
広告選択部23は、検索クエリに基づいて、所定の条件を満たす広告入札エントリを広告データベース22から抽出する。例えば、広告選択部23は、設定されているキーワードが検索クエリと完全一致する広告入札エントリを、広告データベース22から抽出する。
なお、検索クエリに基づいて広告入札エントリを抽出する条件は、上記以外の任意の条件に設定することが可能である。
ステップS4において、広告選択部23は、抽出した各広告入札エントリの特徴量ベクトルを作成する。
ここで、広告選択部23は、広告テキスト用単語辞書、キーワード辞書、及び、広告主ID辞書を予め保持している。なお、広告テキスト用単語辞書のエントリは、例えば、広告テキストに使用可能な単語である。キーワード辞書のエントリは、例えば、キーワードに使用することが可能な単語である。広告主ID辞書のエントリは、例えば、各広告主の広告主IDである。また、例えば、同じ辞書内の各エントリを一意に識別できるように、辞書毎に各エントリに対して1から始まる連番がエントリIDとして割り振られている。
そして、広告選択部23は、各広告入札エントリについて、広告テキスト用単語辞書の各エントリ及びキーワード辞書の各エントリに対応する特徴量からなる特徴量ベクトルを生成する。
具体的には、広告テキスト用単語辞書のエントリ数をm1、キーワード辞書のエントリ数をm2とした場合、特徴量ベクトルのi次元目(ただし、0≦i≦m1)の特徴量は、広告テキスト用単語辞書のエントリID=iのエントリに対応する。そして、特徴量ベクトルのi次元目の特徴量の値は、広告テキスト用単語辞書のエントリID=iのエントリと一致する単語が広告入札エントリ内の広告テキストに含まれる場合、1に設定され、含まれない場合、0に設定される。
また、特徴量ベクトルのm1+j次元目(ただし、1≦j≦m2)の特徴量は、キーワード辞書のエントリID=jのエントリに対応する。そして、特徴量ベクトルの(m1+j)次元目の特徴量の値は、キーワード辞書のエントリID=jのエントリと一致する単語が広告入札エントリ内のキーワードに含まれる場合、1に設定され、含まれない場合、0に設定される。
従って、特徴量ベクトルは、各特徴量が0又は1の2値のいずれかに設定されたM(=m1+m2)次元のベクトルとなる。
なお、以下、各広告入札エントリの特徴量を、その広告入札エントリに対応する広告の特徴量とも称する。
ステップS5において、広告選択部23は、学習モデルと特徴量ベクトルに基づいて、各広告に対するクリック率を予測する。すなわち、広告選択部23は、クリック率を予測するための学習モデルに各広告入札エントリの特徴量ベクトルを与える。これにより、各広告入札エントリに対応する広告に対するクリック率の予測値(以下、クリック率予測値と称する)が算出される。なお、学習モデルの学習方法については後述する。
ステップS6において、広告選択部23は、入札額とクリック率予測値に基づいて、ユーザに提示する広告を選択する。具体的には、広告選択部23は、各広告入札エントリについて、入札額×クリック率予測値を算出する。そして、広告選択部23は、検索画面においてN個の広告を提示する場合、入札額×クリック率予測値の値が大きい方から順にN個の広告入札エントリ(に対応する広告)を選択する。
ステップS7において、広告選択部23は、広告リストを作成する。すなわち、広告選択部23は、ステップS6の処理で選択した各広告入札リストに含まれる広告掲載情報からなる広告リストを作成する。広告選択部23は、作成した広告リストを検索サービス提供部24に供給する。
ステップS8において、検索サービス提供部24は、検索結果と広告リストをクライアント12に送信する。すなわち、検索サービス提供部24は、ユーザにより入力された検索クエリに関連するウエブサイトの検索結果、及び、広告選択部23から供給された広告リストをクライアント12に送信する。なお、ウエブサイトの検索結果には、例えば、検索クエリに関連するウエブサイトのタイトル、URL、概要、内容の一部等が含まれる。
ステップS9において、クライアント12は、ステップS8の処理でサーバ11から送信された検索結果と広告リストを受信する。
ステップS10において、クライアント12は、検索結果と広告をユーザに提示する。すなわち、クライアント12は、図2の検索画面の検索結果表示スペース103に、サーバ11から受信した検索結果を表示する。また、クライアント12は、サーバ11から受信した広告リスト内の広告掲載情報に含まれる広告テキスト及び遷移先のURLを、図2の検索画面の各広告表示スペース105に表示する。このとき、例えば、入札額×クリック率予測値の値が大きい広告ほど、画面内の上位の広告表示スペース105に表示される。
ステップS11において、クライアント12は、検索画面に対するユーザ入力を取得する。
ステップS12において、クライアント12は、ユーザ入力の内容を送信し、クライアント12の処理は終了する。
ステップS13において、検索サービス提供部24は、クライアント12から送信されたユーザ入力の内容を受信する。
ステップS14において、検索サービス提供部24は、学習サンプルを学習サンプルデータベース25に蓄積し、サーバ11の処理は終了する。具体的には、検索サービス提供部24は、検索画面の各広告表示スペース105に表示した各広告について、当該広告がクリックされたか否かを示すラベルy、及び、当該広告の特徴量ベクトルXからなる学習サンプル(y,X)を生成する。
ここで、検索サービス提供部24は、クライアント12から受信したユーザ入力の内容に基づいて、検索サイトの広告表示スペース105内の広告がユーザによりクリックされたと判定した場合、ラベルyの値を1に設定する。一方、検索サービス提供部24は、クライアント12から受信したユーザ入力の内容に基づいて、検索サイトの広告表示スペース105内の広告がユーザによりクリックされることなく広告の表示が終了したと判定した場合、ラベルyの値を0に設定する。
そして、検索サービス提供部24は、生成した学習サンプル(y,X)を学習サンプルデータベース25に蓄積する。
このようにして、サーバ11が提供する検索サービスを利用してユーザが検索を行う毎に、ユーザが入力した検索クエリに対応する広告がクライアント12の検索画面に表示される。また、表示した広告がクリックされたか否かを示すラベルy、及び、当該広告の特徴量ベクトルXを含む学習サンプル(y,X)が蓄積される。
(学習処理)
次に、図4のフローチャートを参照して、サーバ11により実行される学習処理について説明する。なお、この学習処理は、例えば、所定の期間毎、又は、前回の学習処理からの学習サンプルの蓄積量が所定の閾値以上になる毎に実行される。
次に、図4のフローチャートを参照して、サーバ11により実行される学習処理について説明する。なお、この学習処理は、例えば、所定の期間毎、又は、前回の学習処理からの学習サンプルの蓄積量が所定の閾値以上になる毎に実行される。
ステップS51において、学習部27は、所定の数の学習サンプルを学習サンプルデータベース25から読み込む。なお、以下、学習部27が、最新のN個の学習サンプルを学習サンプルデータベース25から読み込むものとする。また、以下、読み込んだ学習サンプルのうち古い方からi番目の学習サンプルを(yi,Xi)とする。従って、読み込んだ学習サンプルのうち、最も古い学習サンプルは(y1,X1)となり、最新の学習サンプルは(yN,XN)となる。
ステップS52において、学習部27は、学習サンプルを用いて、学習モデルのパラメータを学習する。例えば、クリック率予測値を算出するための学習モデルとしてロジスティック回帰モデルを用いた場合、学習モデルは、次式(1)及び(2)により表される。
p(yi=1|Xi,W)=σ(Xi
TW) ・・・(1)
p(yi=0|Xi,W)=1-σ(Xi TW) ・・・(2)
p(yi=0|Xi,W)=1-σ(Xi TW) ・・・(2)
ここで、σ()はシグモイド関数であり、Wは、特徴量ベクトルXiの各特徴量に対応するM次元のパラメータからなるベクトル(以下、パラメータベクトルと称する)である。また、式(1)は、特徴量ベクトルXiの広告がクリックされる確率を計算する式であり、式(2)は、特徴量ベクトルXiの広告がクリックされない確率を計算する式である。
そして、学習部27は、次式(3)及び(4)により表される学習モデルの損失関数L(W;D)を最小化するパラメータベクトルWをオンライン学習により求める。
ただし、D={(yi,Xi)|i=1,・・・,N}である。
ここで、パラメータベクトルWを算出するための学習アルゴリズムとして、例えば、以下の確率的勾配降下法を用いた第1乃至第4の学習アルゴリズムを採用することが可能である。
まず、第1の学習アルゴリズムについて説明する。第1の学習アルゴリズムでは、パラメータベクトルWの初期ベクトルW0の各パラメータの値が0に設定され、学習率が定数ηに設定される。そして、i=1からNまで次式(5)の計算が繰り返される。
Wi=Wi-1+η×{yi-p(yi=1|Xi,Wi-1)}×Xi ・・・(5)
そして、最終的に得られるパラメータベクトルWNが、学習結果として返される。
次に、図5のフローチャートを参照して、第2の学習アルゴリズムについて説明する。
ステップS101において、学習部27は、パラメータを初期化する。すなわち、学習部27は、パラメータベクトルWの初期ベクトルW0の各パラメータの値を0に設定する。
ステップS102において、学習部27は、変数iの値を1に設定する。
ステップS103において、学習部27は、更新幅qを次式(6)により算出する。
q=yi-p(yi=1|Xi,Wi-1) ・・・(6)
この更新幅qは、パラメータベクトルWi-1の各パラメータを用いた学習モデルにi番目の学習サンプルの特徴量Xiを与えた場合のクリック率予測値と、i番目の学習サンプルのラベルyiとの差に等しい。すなわち、更新幅qは、パラメータベクトルWi-1の各パラメータを用いた場合における、特徴量ベクトルXiの広告に対するクリック率予測値の誤差に等しい。
ステップS104において、学習部27は、0以上1以下の乱数rを生成する。
ステップS105において、学習部27は、更新幅q>乱数rであるか否かを判定する。更新幅q>乱数rであると判定された場合、処理はステップS106に進む。
ステップS106において、学習部27は、パラメータを更新する。具体的には、学習部27は、次式(7)により、パラメータベクトルWiを算出する。
Wi=Wi-1+η×{yi-p(yi=1|Xi,Wi-1)}×Xi/q
=Wi-1+η×Xi ・・・(7)
=Wi-1+η×Xi ・・・(7)
式(7)は、第1の学習アルゴリズムにおける式(5)の右辺の第2項を更新幅qで割ったものである。従って、パラメータベクトルWiの各パラメータの更新幅が、更新幅qの逆数により補正される。すなわち、補正後の各パラメータの更新幅は、更新幅qが大きくなるほど小さくなり、更新幅qが小さくなるほど大きくなる。これにより、更新幅qが大きい学習サンプルほど、パラメータ更新の影響が弱められる。
その後、処理は、ステップS108に進む。
一方、ステップS105において、更新幅q≦乱数rであると判定された場合、処理はステップS107に進む。
ステップS107において、学習部27は、パラメータの更新をスキップする。具体的には、学習部27は、次式(8)により、i-1番目の学習サンプルを用いて求めたパラメータベクトルWi-1を、そのまま更新せずにパラメータベクトルWiに代入する。
Wi=Wi-1 ・・・(8)
その後、処理は、ステップS108に進む。
このように、更新幅qが大きくなるほど、パラメータが更新される確率が高くなり、更新幅qが小さくなるほど、パラメータの更新がスキップされる確率が高くなる。
ステップS108において、学習部27は、変数iの値を1つインクリメントする。
ステップS109において、学習部27は、変数iの値が学習サンプル数Nより大きいか否かを判定する。変数iの値が学習サンプル数N以下であると判定された場合、処理はステップS103に戻る。
その後、ステップS109において、変数iの値が学習サンプル数Nより大きいと判定されるまで、ステップS103乃至S109の処理が繰り返し実行される。
一方、ステップS109において、変数iの値が学習サンプル数Nより大きいと判定された場合、パラメータ学習処理は終了する。そして、最終的に得られたパラメータベクトルWNが、学習結果として返される。
このように、第2の学習アルゴリズムでは、更新幅qが大きく学習効果の大きい学習サンプルを優先的に用い、更新幅qが小さく学習効果の小さい学習サンプルを優先的に間引くことにより、効率的に学習モデルのパラメータの更新を行うことができる。一方で、乱数rを用いることにより、更新幅qの大きい学習サンプルばかりが用いられ、更新幅qの小さい学習サンプルが用いられなくなることが防止される。
また、上述した式(7)に示されるように、更新幅qが大きくなるほど補正後の値が小さくなり、更新幅qが小さくなるほど補正後の値が大きくなるように、各パラメータの更新幅が補正される。換言すれば、パラメータの更新がスキップされる確率が低いほど補正後の値が小さくなり、パラメータの更新がスキップされる確率が高いほど補正後の値が大きくなるように、各パラメータの更新幅が補正される。これにより、スキップされる確率が低い更新幅qの大きい学習サンプルによる学習効果と、スキップされる確率が高い更新幅qの小さい学習サンプルによる学習効果の差が大きくなりすぎることが抑制される。
従って、効果的に学習サンプルを間引いて、学習モデルのパラメータを更新することができる。その結果、学習処理を高速化しつつ、適切なパラメータを用いた精度の高い学習モデルを構築することができる。
なお、広告がクリックされる確率は、通常広告がクリックされない確率と比べて非常に小さい。従って、学習サンプル数Nが少ない場合に、ラベルyi=1の学習サンプル(すなわち、広告がクリックされた場合の学習サンプル)による更新をスキップすると、ラベルyi=1の学習サンプルによる学習効果が小さくなりすぎて、学習モデルの精度が低下するおそれがある。そこで、例えば、学習サンプル数Nが少ない場合等に、ラベルyi=0の学習サンプルに対してのみ、上述した方法により、パラメータベクトルの更新を確率的にスキップするようしてもよい。
また、更新幅qの代わりに、更新幅qの単調増加関数を用いて、パラメータを更新するか否かを判定するようにしてもよい。
さらに、例えば、損失関数L(w;D)の勾配に基づいてパラメータの更新幅を設定する場合、更新幅qの代わりに、次式(9)の関数fの値を乱数rと比較することにより、パラメータを更新するか否かを判定するようにしてもよい。
また、パラメータを更新するか否かの判定に乱数rの代わりに定数を用いることも可能である。
次に、図6のフローチャートを参照して、第3の学習アルゴリズムについて説明する。
ステップS151において、学習部27は、パラメータ及び更新回数を初期化する。具体的には、学習部27は、パラメータベクトルWの初期ベクトルW0の各パラメータの値を0に設定する。また、学習部27は、M次元の更新回数ベクトルCの各更新回数cj(j=1,・・・,M)の値を0に初期化する。なお、更新回数cjは、パラメータベクトルのj次元目のパラメータの更新回数を表す。
ステップS152において、学習部27は、変数iの値を1に設定する。
ステップS153において、学習部27は、変数jの値を1に設定する。
ステップS154において、学習部27は、特徴量xi,jの値が0であるか否かを判定する。なお、特徴量xi,jは、i番目の学習サンプルの特徴量ベクトルXiのj次元目の特徴量である。特徴量xi,jの値が0でないと判定された場合、処理はステップS155に進む。
ステップS155において、学習部27は、パラメータwi,jを更新する。なお、パラメータwi,jは、パラメータベクトルWiのj次元目のパラメータである。学習部27は、次式(10)により、パラメータwi,jの値を算出する。
すなわち、パラメータwi,jの値は、i-1番目の学習サンプルに基づいて算出されたパラメータwi-1,jの値に、式(10)の第2項の値を加算することにより得られる。このとき、第2項のη×1/(1+cj)が学習率となる。なお、ηは、式(5)のηと同様の定数である。
ステップS156において、学習部27は、更新回数cjを1つインクリメントする。
その後、処理はステップS158に進む。
一方、ステップS154において、特徴量xi,jの値が0であると判定された場合、処理はステップS157に進む。
ステップS157において、学習部27は、パラメータwi,jの更新をスキップする。すなわち、学習部27は、次式(11)により、i-1番目の学習サンプルで求めたパラメータwi-1,jの値を、そのまま更新せずパラメータwi,jに代入する。
wi,j=wi-1,j ・・・(11)
なお、式(11)は、上述した式(10)に特徴量xi,j=0を代入した式と等しい。
その後、処理はステップS158に進む。
ステップS158において、学習部27は、変数jの値を1つインクリメントする。
ステップS159において、学習部27は、変数jの値がパラメータベクトルの次元数Mより大きいか否かを判定する。変数jの値がパラメータベクトルの次元数M以下であると判定された場合、処理はステップS154に戻る。
その後、ステップS159において、変数jの値がパラメータベクトルの次元数Mより大きいと判定されるまで、ステップS154乃至S159の処理が繰り返し実行される。これにより、パラメータベクトルWiの各パラメータwi,jの値が求められる。
一方、ステップS159において、変数jの値がパラメータベクトルの次元数Mより大きいと判定された場合、処理はステップS160に進む。
ステップS160において、学習部27は、変数iの値を1つインクリメントする。
ステップS161において、学習部27は、変数iの値が学習サンプル数Nより大きいか否かを判定する。変数iの値が学習サンプル数N以下であると判定された場合、処理はステップS153に戻る。
その後、ステップS161において、変数iの値が学習サンプル数Nより大きいと判定されるまで、ステップS153乃至S161の処理が繰り返し実行される。すなわち、N個の学習サンプルを全て用いて、パラメータベクトルの更新が行われる。また、j次元目のパラメータwi,jが更新される毎に、更新回数cjの値が1つずつ増えていき、その結果、学習率η×1/(1+cj)の値が小さくなる。
一方、ステップS161において、変数iの値が学習サンプル数Nより大きいと判定された場合、パラメータ学習処理は終了する。そして、最終的に得られたパラメータベクトルWNが、学習結果として返される。
このように、第3の学習アルゴリズムでは、学習率が、パラメータベクトルの全ての次元のパラメータに共通な定数ではなく、各次元のパラメータ毎に調整される。すなわち、各次元のパラメータに対応する学習率は、対応するパラメータの更新回数が多くなるほど小さくなるように調整される。その結果、学習結果が安定する。
次に、図7のフローチャートを参照して、第4の学習アルゴリズムについて説明する。
ステップS201において、図6のステップS151の処理と同様に、パラメータ及び更新回数が初期化される。
ステップS202において、学習部27は、変数iの値を1に設定する。
ステップS203において、学習部27は、変数jの値を1に設定する。
ステップS204において、学習部27は、0以上1以下の乱数rを生成する。
ステップS205において、図6のステップS154の処理と同様に、特徴量xi,jの値が0であるか否かが判定され、特徴量xi,jの値が0でないと判定された場合、処理はステップS206に進む。
ステップS206において、学習部27は、次式(12)の関数fの値を算出する。
なお、関数fは、更新回数cjが大きくなるほど小さくなる単調減少関数である。
ステップS207において、学習部27は、関数fの値が乱数rより大きいか否かを判定する。関数fの値が乱数rより大きいと判定された場合、処理はステップS208に進む。
ステップS208において、学習部27は、パラメータwi,jを更新する。すなわち、学習部27は、次式(13)により、パラメータwi,jの値を算出する。
式(13)は、式(10)の右辺の第2項を関数fの値で割ったものである。すなわち、パラメータwi,jの更新幅が、関数fの逆数により補正される。従って、補正後のパラメータwi,jの更新幅は、関数fの値が大きくなるほど小さくなり、関数fの値が小さくなるほど大きくなる。これにより、更新回数が多くなるほど、パラメータ更新の影響が弱められる。
ステップS209において、学習部27は、更新回数cjを1つインクリメントする。
その後、処理はステップS211に進む。
一方、ステップS205において、特徴量xi,jの値が0であると判定された場合、又は、ステップS207において、関数fの値が乱数r以下であると判定された場合、処理はステップS210に進む。
ステップS210において、図6のステップS157の処理と同様に、パラメータwi,jの更新がスキップされる。
その後、処理は、ステップS211に進む。
このように、関数fの値が小さくなるほど、すなわち更新回数が多い次元のパラメータほど、更新がスキップされる確率が高くなる。一方、関数fの値が大きくなるほど、すなわち更新回数が少ない次元のパラメータほど、更新がスキップされる確率が低くなる。
ステップS211において、学習部27は、変数jの値を1つインクリメントする。
ステップS212において、学習部27は、変数jの値がパラメータベクトルの次元数Mより大きいか否かを判定する。変数jの値がパラメータベクトルの次元数M以下であると判定された場合、処理はステップS205に戻る。
その後、ステップS212において、変数jの値がパラメータベクトルの次元数Mより大きいと判定されるまで、ステップS205乃至S212の処理が繰り返し実行される。これにより、パラメータベクトルWiの各パラメータwi,jの値が求められる。
一方、ステップS212において、変数jの値がパラメータベクトルの次元数Mより大きいと判定された場合、処理はステップS213に進む。
ステップS213において、学習部27は、変数iの値を1つインクリメントする。
ステップS214において、学習部27は、変数iの値が学習サンプル数Nより大きいか否かを判定する。変数iの値が学習サンプル数N以下であると判定された場合、処理はステップS203に戻る。
その後、ステップS214において、変数iの値が学習サンプル数Nより大きいと判定されるまで、ステップS203乃至S214の処理が繰り返し実行される。
一方、ステップS214において、変数iの値が学習サンプル数Nより大きいと判定された場合、パラメータ学習処理は終了する。そして、最終的に得られたパラメータベクトルWNが、学習結果として返される。
このように、第4の学習アルゴリズムでは、第3の学習アルゴリズムと同様の理由により、学習結果を安定させることができる。
また、第4のアルゴリズムでは、更新回数の多いパラメータほど更新がスキップされやすくなり、更新回数の少ないパラメータほど更新されやすくなる。一方で、乱数rを用いることにより、更新回数の多いパラメータの更新が全く行われなくなったり、更新回数の少ないパラメータの更新が全くスキップされなくなったりすることが防止される。これにより、各次元のパラメータの更新回数のバラつきを小さくしつつ、各パラメータの更新に用いる学習サンプルを適度に分散させることができる。
また、上述した式(13)に示されるように、関数fの値が大きくなるほど補正後の値が小さくなり、関数fの値が小さくなるほど補正後の値が大きくなるように、各パラメータの更新幅が補正される。換言すれば、パラメータの更新がスキップされる確率が低いほど補正後の値が小さくなり、パラメータの更新がスキップされる確率が高いほど補正後の値が大きくなるように、各パラメータの更新幅が補正される。これにより、更新がスキップされる確率が低い初めの方の学習サンプルによる学習効果と、更新がスキップされる確率が高い後の方の学習サンプルによる学習効果の差が大きくなりすぎることが抑制される。
従って、効果的に更新をスキップしつつ、学習モデルのパラメータを更新することができる。その結果、学習処理を高速化しつつ、適切なパラメータを用いた精度の高い学習モデルを構築することができる。
また、学習処理の高速化の別手法として、パラメータを共有しながら、パラメータ更新処理を並列化する手法がある。このパラメータ更新処理の並列化を行う場合、第4の学習アルゴリズムを用いてパラメータの更新回数を減らすことにより、パラメータの同期やアトミック性を保証する処理に要するコストを軽減することができる。
なお、更新回数cjの代わりに、更新回数cjに従って増加する他の値を用いることも可能である。また、式(12)の関数fの代わりに、更新回数cjを変数とする他の単調減少関数を用いるようにしてもよい。
また、パラメータを更新するか否かの判定に乱数rの代わりに定数を用いることも可能である。
さらに、第2の学習アルゴリズムと第4の学習アルゴリズムは、組み合わせることが可能である。
図4に戻り、ステップS53において、サーバ11は、学習モデルのパラメータを更新する。すなわち、学習部27は、ステップS52の処理で学習したパラメータを広告選択部23に供給する。広告選択部23は、学習モデルのパラメータを供給されたパラメータに更新する。
その後、学習処理は終了する。
<2.変形例>
以下、上述した本技術の実施の形態の変形例について説明する。
以下、上述した本技術の実施の形態の変形例について説明する。
例えば、本技術は、上述した形態とは異なる形態の広告サービスに適用することができる。例えば、検索クエリとは無関係に、ユーザの嗜好等に基づいて広告を提示する広告サービスにも適用することができる。また、例えば、ウエブサイトに表示する方法以外の広告サービス、例えば、メールを用いた広告サービス等にも適用することができる。
また、学習サンプルに用いるラベルは、ユーザが広告をクリックしたか否かを示すものに限定されるものではなく、広告の形態等により他のユーザの反応を示すものに変更することが可能である。例えば、ユーザが広告の商品を購入したか否かを示すラベル等を用いることが可能である。
さらに、以上の説明では、入札額×クリック率の大きい順に提示する広告を選択する例を示したが、他の条件に基づいて提示する広告を選択するようにしてもよい。例えば、入札額を用いずにクリック率のみに基づいて提示する広告を選択したり、ユーザの嗜好等に基づいて提示する広告を選択したりすることが可能である。
また、本技術は、上述した確率的勾配降下法以外にも、凸関数からなる損失関数を用いた他のオンライン学習のアルゴリズムにも適用することができる。例えば、パーセプトロンの学習におけるオンライン更新やPA(Passive Aggressive)法を用いたアルゴリズム等において、更新条件時に計算する値や更新幅の関数の値を、パラメータを更新するか否かの判定に用いることにより、本技術を適用することができる。
さらに、本技術は、上述したロジスティック回帰モデル以外にも、凸関数からなる損失関数を用いたオンライン学習によりパラメータを更新可能な各種の学習モデルに適用することができる。また、それらの学習モデルを、各種のパターン認識等の予測処理に用いることが可能である。例えば、本技術は、スパムメールを検出するためのスパムメールフィルタの学習モデル、大規模センサシステムのセンサ値が異常か否かを判定する学習モデル、ソーシャルネットワーキングサービスにおいて緊急性があるメッセージであるか否かを分類する学習モデル等の構築、及び、それらの学習モデルを用いた予測処理に適用することができる。そのような予測処理は、例えば、図1の広告選択部23のような情報処理部により実行される。
{コンピュータの構成例}
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図8は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
入力部306は、キーボード、マウス、マイクロフォンなどよりなる。出力部307は、ディスプレイ、スピーカなどよりなる。記憶部308は、ハードディスクや不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア311を駆動する。
以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア311に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
さらに、例えば、本技術は以下のような構成も取ることができる。
(1)
ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択部と、
選択された広告の提示を制御する提示制御部と
を備える情報処理装置。
(2)
前記学習サンプルは、前記ユーザに提示した広告の内容に基づく特徴量を含む特徴量ベクトル、及び、前記広告に対する前記ユーザの反応結果を示すラベルを含み、
前記パラメータを用いて各広告に対する前記ユーザの反応を予測する学習モデルのオンライン学習を行うとともに、前記第1の確率に従って前記パラメータの更新をスキップする一方、スキップせずに前記パラメータの更新を行う場合、前記第1の確率に応じて前記パラメータの更新幅を補正する学習部を
さらに備える前記(1)に記載の情報処理装置。
(3)
前記学習部は、前記学習サンプルに含まれる前記特徴量ベクトルを前記学習モデルに与えることにより得られる前記ユーザの反応の予測結果と前記学習サンプルに含まれる前記ラベルとの差に基づく前記第1の確率に従って前記パラメータの更新をスキップする
前記(2)に記載の情報処理装置。
(4)
前記学習部は、前記第1の確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(2)又は(3)に記載の情報処理装置。
(5)
前記学習モデルは、複数の前記パラメータを用い、
前記学習部は、更新回数が多いほど高くなる第2の確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記第2の確率に応じて補正する
前記(2)乃至(4)のいずれかに記載の情報処理装置。
(6)
前記学習部は、前記第2の確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(5)に記載の情報処理装置。
(7)
前記広告選択部は、前記ユーザにより入力される検索クエリと各広告に設定されたキーワードとの一致度、及び、前記パラメータを用いて予測される前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する
前記(1)乃至(6)のいずれかに記載の情報処理装置。
(8)
ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択ステップと、
選択された広告の提示を制御する提示制御ステップと
を含む情報処理方法。
(9)
ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択ステップと、
選択された広告の提示を制御する提示制御ステップと
を含む処理をコンピュータに実行させるためのプログラム。
(10)
更新回数が多いほど高くなる確率に従って個別にスキップしながら更新される複数のパラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択部と、
選択された広告の提示を制御する提示制御部と
を備える情報処理装置。
(11)
複数の前記パラメータを用いて各広告に対する前記ユーザの反応を予測する学習モデルのオンライン学習を行うとともに、前記確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習部を
さらに備える前記(10)に記載の情報処理装置。
(12)
前記学習部は、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(11)に記載の情報処理装置。
(13)
所定のパラメータを用いた学習モデルのオンライン学習を行うとともに、前記オンライン学習に用いる学習サンプル及び前記パラメータに基づく確率に従って前記学習サンプルを用いた前記パラメータの更新をスキップする一方、スキップせずに前記パラメータの更新を行う場合に、前記確率に応じて前記パラメータの更新幅を補正する学習部を
備える情報処理装置。
(14)
前記学習部は、前記学習サンプルに含まれる特徴量ベクトルを前記学習モデルに与えることにより得られる予測結果と前記学習サンプルに含まれるラベルとの差に基づく前記確率に従って前記パラメータの更新をスキップする
前記(13)に記載の情報処理装置。
(15)
前記学習部は、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(13)又は(14)に記載の情報処理装置。
(16)
前記学習モデルを用いた予測処理を行う情報処理部を
さらに備える前記(13)乃至(15)のいずれかに記載の情報処理装置。
(17)
複数のパラメータを用いた学習モデルのオンライン学習を行うとともに、更新回数が多いほど高くなる確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習部を
備える情報処理装置。
(18)
前記学習部は、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(17)に記載の情報処理装置。
(19)
前記学習モデルを用いた予測処理を行う情報処理部を
さらに備える前記(17)又は(18)に記載の情報処理装置。
(20)
複数のパラメータを用いた学習モデルのオンライン学習を行うとともに、更新回数が多いほど高くなる確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習ステップを
含む情報処理方法。
ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択部と、
選択された広告の提示を制御する提示制御部と
を備える情報処理装置。
(2)
前記学習サンプルは、前記ユーザに提示した広告の内容に基づく特徴量を含む特徴量ベクトル、及び、前記広告に対する前記ユーザの反応結果を示すラベルを含み、
前記パラメータを用いて各広告に対する前記ユーザの反応を予測する学習モデルのオンライン学習を行うとともに、前記第1の確率に従って前記パラメータの更新をスキップする一方、スキップせずに前記パラメータの更新を行う場合、前記第1の確率に応じて前記パラメータの更新幅を補正する学習部を
さらに備える前記(1)に記載の情報処理装置。
(3)
前記学習部は、前記学習サンプルに含まれる前記特徴量ベクトルを前記学習モデルに与えることにより得られる前記ユーザの反応の予測結果と前記学習サンプルに含まれる前記ラベルとの差に基づく前記第1の確率に従って前記パラメータの更新をスキップする
前記(2)に記載の情報処理装置。
(4)
前記学習部は、前記第1の確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(2)又は(3)に記載の情報処理装置。
(5)
前記学習モデルは、複数の前記パラメータを用い、
前記学習部は、更新回数が多いほど高くなる第2の確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記第2の確率に応じて補正する
前記(2)乃至(4)のいずれかに記載の情報処理装置。
(6)
前記学習部は、前記第2の確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(5)に記載の情報処理装置。
(7)
前記広告選択部は、前記ユーザにより入力される検索クエリと各広告に設定されたキーワードとの一致度、及び、前記パラメータを用いて予測される前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する
前記(1)乃至(6)のいずれかに記載の情報処理装置。
(8)
ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択ステップと、
選択された広告の提示を制御する提示制御ステップと
を含む情報処理方法。
(9)
ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択ステップと、
選択された広告の提示を制御する提示制御ステップと
を含む処理をコンピュータに実行させるためのプログラム。
(10)
更新回数が多いほど高くなる確率に従って個別にスキップしながら更新される複数のパラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択部と、
選択された広告の提示を制御する提示制御部と
を備える情報処理装置。
(11)
複数の前記パラメータを用いて各広告に対する前記ユーザの反応を予測する学習モデルのオンライン学習を行うとともに、前記確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習部を
さらに備える前記(10)に記載の情報処理装置。
(12)
前記学習部は、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(11)に記載の情報処理装置。
(13)
所定のパラメータを用いた学習モデルのオンライン学習を行うとともに、前記オンライン学習に用いる学習サンプル及び前記パラメータに基づく確率に従って前記学習サンプルを用いた前記パラメータの更新をスキップする一方、スキップせずに前記パラメータの更新を行う場合に、前記確率に応じて前記パラメータの更新幅を補正する学習部を
備える情報処理装置。
(14)
前記学習部は、前記学習サンプルに含まれる特徴量ベクトルを前記学習モデルに与えることにより得られる予測結果と前記学習サンプルに含まれるラベルとの差に基づく前記確率に従って前記パラメータの更新をスキップする
前記(13)に記載の情報処理装置。
(15)
前記学習部は、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(13)又は(14)に記載の情報処理装置。
(16)
前記学習モデルを用いた予測処理を行う情報処理部を
さらに備える前記(13)乃至(15)のいずれかに記載の情報処理装置。
(17)
複数のパラメータを用いた学習モデルのオンライン学習を行うとともに、更新回数が多いほど高くなる確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習部を
備える情報処理装置。
(18)
前記学習部は、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
前記(17)に記載の情報処理装置。
(19)
前記学習モデルを用いた予測処理を行う情報処理部を
さらに備える前記(17)又は(18)に記載の情報処理装置。
(20)
複数のパラメータを用いた学習モデルのオンライン学習を行うとともに、更新回数が多いほど高くなる確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習ステップを
含む情報処理方法。
1 情報処理システム, 11 サーバ, 12 クライアント, 22 広告データベース, 23 広告選択部, 24 検索サービス提供部, 25 学習サンプルデータベース, 27 学習部
Claims (20)
- ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択部と、
選択された広告の提示を制御する提示制御部と
を備える情報処理装置。 - 前記学習サンプルは、前記ユーザに提示した広告の内容に基づく特徴量を含む特徴量ベクトル、及び、前記広告に対する前記ユーザの反応結果を示すラベルを含み、
前記パラメータを用いて各広告に対する前記ユーザの反応を予測する学習モデルのオンライン学習を行うとともに、前記第1の確率に従って前記パラメータの更新をスキップする一方、スキップせずに前記パラメータの更新を行う場合、前記第1の確率に応じて前記パラメータの更新幅を補正する学習部を
さらに備える請求項1に記載の情報処理装置。 - 前記学習部は、前記学習サンプルに含まれる前記特徴量ベクトルを前記学習モデルに与えることにより得られる前記ユーザの反応の予測結果と前記学習サンプルに含まれる前記ラベルとの差に基づく前記第1の確率に従って前記パラメータの更新をスキップする
請求項2に記載の情報処理装置。 - 前記学習部は、前記第1の確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
請求項2に記載の情報処理装置。 - 前記学習モデルは、複数の前記パラメータを用い、
前記学習部は、更新回数が多いほど高くなる第2の確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記第2の確率に応じて補正する
請求項2に記載の情報処理装置。 - 前記学習部は、前記第2の確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
請求項5に記載の情報処理装置。 - 前記広告選択部は、前記ユーザにより入力される検索クエリと各広告に設定されたキーワードとの一致度、及び、前記パラメータを用いて予測される前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する
請求項1に記載の情報処理装置。 - ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択ステップと、
選択された広告の提示を制御する提示制御ステップと
を含む情報処理方法。 - ユーザに提示した広告の内容及び前記広告に対する前記ユーザの反応結果に基づく学習サンプルと、前記学習サンプルによる更新対象となるパラメータとに基づく第1の確率に従って更新がスキップされる前記パラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択ステップと、
選択された広告の提示を制御する提示制御ステップと
を含む処理をコンピュータに実行させるためのプログラム。 - 更新回数が多いほど高くなる確率に従って個別にスキップしながら更新される複数のパラメータを用いて予測される各広告に対する前記ユーザの反応に基づいて、前記ユーザに提示する広告を選択する広告選択部と、
選択された広告の提示を制御する提示制御部と
を備える情報処理装置。 - 複数の前記パラメータを用いて各広告に対する前記ユーザの反応を予測する学習モデルのオンライン学習を行うとともに、前記確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習部を
さらに備える請求項10に記載の情報処理装置。 - 前記学習部は、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
請求項11に記載の情報処理装置。 - 所定のパラメータを用いた学習モデルのオンライン学習を行うとともに、前記オンライン学習に用いる学習サンプル及び前記パラメータに基づく確率に従って前記学習サンプルを用いた前記パラメータの更新をスキップする一方、スキップせずに前記パラメータの更新を行う場合に、前記確率に応じて前記パラメータの更新幅を補正する学習部を
備える情報処理装置。 - 前記学習部は、前記学習サンプルに含まれる特徴量ベクトルを前記学習モデルに与えることにより得られる予測結果と前記学習サンプルに含まれるラベルとの差に基づく前記確率に従って前記パラメータの更新をスキップする
請求項13に記載の情報処理装置。 - 前記学習部は、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
請求項13に記載の情報処理装置。 - 前記学習モデルを用いた予測処理を行う情報処理部を
さらに備える請求項13に記載の情報処理装置。 - 複数のパラメータを用いた学習モデルのオンライン学習を行うとともに、更新回数が多いほど高くなる確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習部を
備える情報処理装置。 - 前記学習部は、前記確率が高いほど補正後の値が大きくなるように前記パラメータの更新幅を補正する
請求項17に記載の情報処理装置。 - 前記学習モデルを用いた予測処理を行う情報処理部を
さらに備える請求項17に記載の情報処理装置。 - 複数のパラメータを用いた学習モデルのオンライン学習を行うとともに、更新回数が多いほど高くなる確率に従って前記パラメータ毎に個別に更新をスキップする一方、スキップせずに更新する前記パラメータの更新幅を前記確率に応じて補正する学習ステップを
含む情報処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014106130 | 2014-05-22 | ||
JP2014-106130 | 2014-05-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015178219A1 true WO2015178219A1 (ja) | 2015-11-26 |
Family
ID=54553892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/063269 WO2015178219A1 (ja) | 2014-05-22 | 2015-05-08 | 情報処理装置、情報処理方法、及び、プログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2015178219A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117495459A (zh) * | 2024-01-02 | 2024-02-02 | 蓝色火焰科技成都有限公司 | 基于大数据的人机互动广告方法、装置、设备及存储介质 |
JP7436830B2 (ja) | 2020-04-06 | 2024-02-22 | 富士通株式会社 | 学習プログラム、学習方法、および学習装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002133389A (ja) * | 2000-10-26 | 2002-05-10 | Nippon Telegr & Teleph Corp <Ntt> | データ分類学習方法、データ分類方法、データ分類学習器、データ分類器、データ分類学習プログラムを記録した記憶媒体、データ分類プログラムを記録した記録媒体 |
JP2009522668A (ja) * | 2005-12-30 | 2009-06-11 | グーグル インコーポレイテッド | 広告品質の予測 |
JP2012027808A (ja) * | 2010-07-27 | 2012-02-09 | Nippon Telegr & Teleph Corp <Ntt> | モデルパラメータ学習装置、方法、及びそのプログラム |
-
2015
- 2015-05-08 WO PCT/JP2015/063269 patent/WO2015178219A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002133389A (ja) * | 2000-10-26 | 2002-05-10 | Nippon Telegr & Teleph Corp <Ntt> | データ分類学習方法、データ分類方法、データ分類学習器、データ分類器、データ分類学習プログラムを記録した記憶媒体、データ分類プログラムを記録した記録媒体 |
JP2009522668A (ja) * | 2005-12-30 | 2009-06-11 | グーグル インコーポレイテッド | 広告品質の予測 |
JP2012027808A (ja) * | 2010-07-27 | 2012-02-09 | Nippon Telegr & Teleph Corp <Ntt> | モデルパラメータ学習装置、方法、及びそのプログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7436830B2 (ja) | 2020-04-06 | 2024-02-22 | 富士通株式会社 | 学習プログラム、学習方法、および学習装置 |
CN117495459A (zh) * | 2024-01-02 | 2024-02-02 | 蓝色火焰科技成都有限公司 | 基于大数据的人机互动广告方法、装置、设备及存储介质 |
CN117495459B (zh) * | 2024-01-02 | 2024-03-19 | 蓝色火焰科技成都有限公司 | 基于大数据的人机互动广告方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10796335B2 (en) | Device, method, and computer readable medium of generating recommendations via ensemble multi-arm bandit with an LPBoost | |
CN108431833B (zh) | 端到端深度协作过滤 | |
US11587143B2 (en) | Neural contextual bandit based computational recommendation method and apparatus | |
US20190278787A1 (en) | Personalized content delivery system | |
CN108701014B (zh) | 用于尾部查询的查询数据库 | |
US20110231256A1 (en) | Automated building of a model for behavioral targeting | |
US10606910B2 (en) | Ranking search results using machine learning based models | |
US20210056458A1 (en) | Predicting a persona class based on overlap-agnostic machine learning models for distributing persona-based digital content | |
US10552863B1 (en) | Machine learning approach for causal effect estimation | |
US20160217383A1 (en) | Method and apparatus for forecasting characteristic information change | |
JP6097126B2 (ja) | レコメンド情報生成装置及びレコメンド情報生成方法 | |
JP6367743B2 (ja) | 情報処理装置、情報処理プログラムおよび情報処理方法 | |
CN113362109B (zh) | 媒介资源的推荐方法、装置、电子设备、存储介质 | |
US20160275549A1 (en) | Information processing apparatus, information processing program, and information processing method | |
US20220366299A1 (en) | Provisioning interactive content based on predicted user-engagement levels | |
CN111814056A (zh) | 基于信息处理的供应商推荐方法及相关设备 | |
CN109389424B (zh) | 流量分配方法、装置、电子设备及存储介质 | |
CN110992127A (zh) | 一种物品推荐方法及装置 | |
JP6470965B2 (ja) | 広告選択装置、広告選択方法及びプログラム | |
JP6971181B2 (ja) | 予測装置、予測方法、およびプログラム | |
WO2015178219A1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP7231322B2 (ja) | 学習装置、学習方法、学習プログラム及びプログラム | |
JP6680663B2 (ja) | 情報処理装置、情報処理方法、予測モデルの生成装置、予測モデルの生成方法、およびプログラム | |
JP2019036173A (ja) | 算出装置、算出方法、算出プログラム及び第2モデル | |
CN113836388A (zh) | 信息推荐方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15796674 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15796674 Country of ref document: EP Kind code of ref document: A1 |